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 场景未定义

Can't load Assembly System.Net.Http.Formatting in .Net 解决方案

Can't destroy() jQuery 数据表

.load (Jquery) 后调用函数

jQuery.load()事件使用方法详解