jQuery Can't $ (...). load () заголовок заголовка в Chrome - PullRequest
1 голос
/ 26 мая 2010

Мне нужно получить заголовок удаленной страницы по URL. Код работает в FFX, но не в Chrome. У кого-нибудь есть идеи?

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

1 Ответ

3 голосов
/ 26 мая 2010

Здесь это работает во всех браузерах

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