使用JavaScript获取源代码的任何URL

时间:2017-01-26 04:52:11

标签: javascript bookmarklet

有些时候我想要检索除了我通常使用的页面以外的页面的HTML。当我使用浏览器的JavaScript控制台或我正在编写书签时,就会发生这种情况。因此,给定任何URL,我希望检索该URL的内容,以便我可以在JavaScript变量中使用它。

所需的解决方案无法使用jQuery,因为这需要加载外部库,这只是在网页中运行的JavaScript上下文中的最佳选择(而不是控制台或书签)。 (此外,将脚本标记添加到仅在控制台中使用的页面是很笨重的。)

2 个答案:

答案 0 :(得分:0)

我相信有人已经回答了这个问题,



function httpGetAsync(theUrl, callback)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
            callback(xmlHttp.responseText);
    }
    xmlHttp.open("GET", theUrl, true); // true for asynchronous 
    xmlHttp.send(null);
}




作者的所有学分: Link to original answer

答案 1 :(得分:0)

您无疑会在您尝试的许多页面上遇到跨站点脚本限制。许多服务器阻止来自与您请求的域不同的域的请求。因此,如果您进入此网站的控制台,并尝试访问google.com主页,Google会发回一条错误消息,说明您没有权限。

通过在此页面的控制台上运行以下内容来自行尝试:

$.get('https://www.google.com')

Google会返回错误。

error from google

您可以在浏览器扩展程序中执行此操作,但可能不会从任何旧页面的控制台执行此操作。