javascript从在线链接获取html文件

标签 javascript jquery html xmlhttprequest

我想使用带有 javascript 的 xmlhttprequest 调用 html 在线链接,这是我的代码 但是当代码到达 xmlhttp.open 时它停止了并且不会继续执行

function loadXMLDoc(size,downloadfromurl) {
    var xmlhttp;

    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function () {

        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var temp = xmlhttp.responseText;

        }
    }

    xmlhttp.open("GET", "http://app.arsel.qa/mobileappspeedtest/samples/256.htm?n=" +  Math.random(), false);

    xmlhttp.send(null);

}

最佳答案

您正在做的是对该页面的实际 AJAX 请求。 出于安全原因,默认情况下不允许跨域 AJAX 请求。 但是,有多种执行跨域请求的方法,您可以看看 jQuery 是如何做到的,这样您就不必使用纯 JavaScript 重新发明轮子了。 This article应该会有帮助。

无论如何,如果您真的想抓取该页面,有大量用于服务器端脚本语言(如 Java、PHP、Node.js 等)的开源库,它们在收集内容、解析 HTML 等方面非常有用取决于您的需要。

关于javascript从在线链接获取html文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30119679/

相关文章:

javascript - 如何从原始选项卡获取新打开的浏览器选项卡名称?

javascript - IE8 显示图像之间的分隔线

javascript - 避免单词 split

javascript - 如何使用 JQuery 将检索到的无序列表的 <li> 元素放在另一个无序列表的末尾?

javascript - JSON Web key 的 'ext' 属性有何用途?

php - jQuery 循环在值 < 4 后继续,在 For 循环中从 1 重新开始

javascript - axios POST 上的 PHP Post 数组为空

javascript - 不使用 Javascript 将 CSS 文件加载到 head 部分或 HTML 部分

javascript - 我可以让 TypeScript 包含 node_modules 以进行编译吗?

javascript - JS : Maximum call stack size exceeded on disconnect despite function being empty