【问题标题】:Getting the source code any URL with JavaScript [duplicate]使用 JavaScript 获取任何 URL 的源代码 [重复]
【发布时间】:2017-06-11 13:10:38
【问题描述】:

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

所需的解决方案不能使用 jQuery,因为它需要加载外部库,这仅在网页中运行的 JavaScript 上下文中是最佳的(与控制台或小书签相反)。 (另外,将脚本标签添加到页面中只是为了在控制台中使用很笨拙。)

【问题讨论】:

    标签: javascript bookmarklet


    【解决方案1】:

    相信已经有人回答了,

    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

    【讨论】:

    • 正确的礼仪是将其标记为重复,而不是添加另一个答案。它污染了网站,并且很难找到常见问题的好答案(由于数量)
    【解决方案2】:

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

    通过在此页面的控制台上运行以下命令自行尝试:

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

    Google 返回错误。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 2014-11-25
      • 2011-09-16
      相关资源
      最近更新 更多