-1

我试图$(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);
    }
} );

    });
4

1 回答 1

-2

您可以添加一个选项: // @run-at document-end. 这表示 Tampermonkey 您需要等待整页加载。

可以在此处找到完整的选项列表。

于 2018-08-21T17:50:22.240 回答