Tampermonkey:在动态 AJAX 页面上按下按钮时复制源代码

Tampermonkey: Copy source code on button press on dynamic AJAX page

尝试创建一个简单的脚本,目的是在我按下按钮时复制动态 AJAX 页面的源代码。以下代码有效:

// ==UserScript==
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// @grant    GM_setClipboard
// ==/UserScript==

function doc_keyUp(e) {
    switch (e.keyCode) {
        case 37:
            //Left
            getHTML();
            break;
        default:
            break;
    }
}
document.addEventListener('keyup', doc_keyUp, false);

function getHTML() {

waitForKeyElements ("html", copyClipboard);

function copyClipboard (jNode) {
        GM_setClipboard (jNode.html());
    return true;
}
}

但它有一个问题,waitForKeyElements 一直处于活动状态并阻塞了不必要的资源并使剪贴板无法使用。删除 "return true;" 解决了这个问题,但对我没有帮助,因为当我需要再次获取源代码时页面没有重新加载。在这种情况下,waitForKeyElements 不会再次触发,因为我定位的 html 元素保持不变,只有内部内容发生变化。

工作流程:

  1. 已访问页面
  2. 已复制源代码
  3. 页面动态更改,但未重新加载。
  4. 需要再次复制源代码

使用

解决
document.querySelector("html").outerHTML

正如 Archer 在评论中所建议的那样。