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/
如果您想完全避免
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