在获取内容之前获取页面以完全加载

时间:2018-08-21 17:38:20

标签: javascript userscripts tampermonkey document-ready gm-xmlhttprequest

我正在尝试使用$(document).ready(function()来使页面在使用Ajax之前完全加载,但是由于某些原因它无法正常工作,我只能得到页面的一部分,因为它不会在获取内容之前等待它完全加载。我可以修复代码的哪一部分来解决此问题?示例将是很好的选择,如果您帮助编辑我的代码以使其起作用,那就更好了。

// ==UserScript==
// @name        test1
// @namespace   John Galt
// @description Basic Google Hello
// @match       *://www.google.com/*
// @version     1
// @require     http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant       GM_xmlhttpRequest
// ==/UserScript==

 $(document).ready(function(){

 GM_xmlhttpRequest ( {
    method: "GET",
    url:    "http://www.fictionpress.com/",
    onload: function (response) {
        var parser = new DOMParser ();
        var doc = parser.parseFromString (response.responseText, "text/html");
        var theString = new XMLSerializer().serializeToString(doc);
        document.write(theString);
    },
    onerror: function (e) {
        console.error ('**** error ', e);
    },
    onabort: function (e) {
        console.error ('**** abort ', e);
    },
    ontimeout: function (e) {
        console.error ('**** timeout ', e);
    }
} );

    });

1 个答案:

答案 0 :(得分:-1)

您可以添加一个选项: state。那表明Tampermonkey,您需要等待整个页面加载。

完整的选项列表可在here中找到。