jQuery 无法 $(...).load() Chrome 中的标题

发布于 2024-09-03 04:39:16 字数 209 浏览 4 评论 0原文

我需要通过 URL 获取远程页面的标题。该代码可以在 FFX 中运行,但不能在 chrome 中运行。有人有什么想法吗?

$(document).ready(function(){
    $("title").remove();
    $("head").load("http://www.latentmotion.com title");
});

I need to get the title of a remote page by URL. The code works in FFX, but not chrome. Anyone have any ideas?

$(document).ready(function(){
    $("title").remove();
    $("head").load("http://www.latentmotion.com title");
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○闲身 2024-09-10 04:39:16

在这里,这适用于所有浏览器

$.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();

Here, this works in all browsers

$.get("http://www.latentmotion.com", function(response){
     alert((/<title>(.*?)<\/title>/m).exec(response)[1]);
  });

You can test it here http://jsfiddle.net/N7D5r/

And if you want to avoid jQuery altogether

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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文