代码之家  ›  专栏  ›  技术社区  ›  Andrew Keeton ShuggyCoUk

如何“安静地”从Greasemonkey脚本重新加载页面?

  •  1
  • Andrew Keeton ShuggyCoUk  · 技术社区  · 17 年前

    body <frame> GM_xmlhttpRequest .

    setInterval(reload, 10000);
    
    function reload() {
        GM_xmlhttpRequest({method: 'GET',
                url: location.href,
                onload: function(responseDetails) {
                    document.body.innerHTML =
                                    '<frame>\n'
                                    + responseDetails.responseText
                                    + '</frame>\n';
                }});
    }
    

    身体 ,没有副作用。耶!神秘的是 < 标签不见了。

    1. < 标签内 身体

    到目前为止,我已经吸收了克利顿、哈文纳德和亨里克的答案中的元素。我试着通过发送饼干 header: { 'Cookie': document.cookie } 输入通过发送的数据 .ASPXAUTH , ASP.NET_SessionId user bad idea .

    4 回复  |  直到 16 年前
        1
  •  10
  •   Havenard    17 年前
    document.body.innerHTML =
            responseDetails.responseText.match(/<body>([\s\S]*)<\/body>/i)[1];

    更新:为<身体>属性:

    document.body.innerHTML =
            responseDetails.responseText.match(/<body[^>]*>([\s\S]*)<\/body>/i)[1];
        2
  •  3
  •   Henrik Opel    16 年前

    @安德鲁·基顿,

    首次安装 fiddler 全部

        3
  •  1
  •   Henrik Opel    17 年前

    至于登录状态,我希望通过某种形式的会话cookie来跟踪。请确保在GM_xmlhttpRequest标头中明确设置它们,因为它本身不会这样做。

    现在不确定确切的语法,但应该是这样的:

    GM_xmlhttpRequest({method: 'GET',
                    url: location.href,
                    headers: {'Cookie': document.cookie},
                    onload: function(responseDetails) { ... 
    
        4
  •  0
  •   Noon Silk    17 年前

    你想为哪个网站做这件事?

    推荐文章