jQueryは$(…).load()chromeのヘッドタイトルはできません
-
04-10-2019 - |
質問
URLでリモートページのタイトルを取得する必要があります。コードはFFXで動作しますが、Chromeでは機能しません。誰かがアイデアを持っていますか?
$(document).ready(function(){
$("title").remove();
$("head").load("http://www.latentmotion.com title");
});
解決
ここでは、これはすべてのブラウザで機能します
$.get("http://www.latentmotion.com", function(response){
alert((/<title>(.*?)<\/title>/m).exec(response)[1]);
});
ここでテストできます http://jsfiddle.net/n7d5r/
そして、あなたがjqueryを完全に避けたいなら
var getXhr = (function () {
if ("XMLHttpRequest" in window) {
return function () {
return new XMLHttpRequest();
};
}
else {
var item = (function () {
var list = ["Microsoft", "Msxml2", "Msxml3"],
i = list.length;
while (i--) {
try {
item = list[i] + ".XMLHTTP";
var obj = new ActiveXObject(item);
return item;
}
catch (e) {}
}
}());
return function () {
return new ActiveXObject(item);
};
}
}());
var req = getXhr();
req.open("GET", "http://www.latentmotion.com", true);
req.onreadystatechange = function () {
if (req.readyState == 4) {
if (req.status >= 200 && req.status < 300) {
// here you retrieve the title
var title = (/<title>(.*?)<\/title>/m).exec(req.responseText)[1];
alert(title);
}
req.onreadystatechange = null;
delete req.onreadystatechange;
}
};
req.send();
所属していません StackOverflow