jQuery Can't $(...).load() 在 Chrome 中的头部标题
Posted
技术标签:
【中文标题】jQuery Can\'t $(...).load() 在 Chrome 中的头部标题【英文标题】:jQuery Can't $(...).load() the head title in ChromejQuery Can't $(...).load() 在 Chrome 中的头部标题 【发布时间】:2011-02-24 02:40:51 【问题描述】:我需要通过 URL 获取远程页面的标题。该代码适用于 FFX,但不适用于 chrome。有人有什么想法吗?
$(document).ready(function()
$("title").remove();
$("head").load("http://www.latentmotion.com title");
);
【问题讨论】:
您是否正在加载不同域的页面? 我正在从同一个域加载一个页面。 我想一个草率的解决方法是将页面加载到 iframe 中并在那里检测它。但是该死的,那会很糟糕。 @Sean - 我没有看到您提供跨浏览器解决方案......要么帮助 OP,要么不发表评论,没有人需要这种态度,这根本没有帮助。 @Nick:现在开心吗?放轻松,我只是想拯救世界免遭 jQueryed (愚蠢的):) 【参考方案1】:这里,这适用于所有浏览器
$.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();
【讨论】:
+1 表示可行的解决方案 - 旁注:需要在顶部删除if ("XMLHttpRequest" in window))
上的额外括号以使其有效。
谢谢!但是,如果页面没有标题,则会引发错误。有什么想法吗?
我在这里创建了一个后续 SO 问题:***.com/questions/2915795/…以上是关于jQuery Can't $(...).load() 在 Chrome 中的头部标题的主要内容,如果未能解决你的问题,请参考以下文章
Delphi Can't load package 找不到指定的模块
can't load blender model on threeJS 场景未定义