我的tampermonkey脚本不在网站的webapp部分工作

时间:2018-01-31 12:55:09

标签: javascript greasemonkey userscripts tampermonkey

我试图更新我的旧Tampermonkey脚本,因为我使用它的网站重新命名并更改。

新网站正在使用网络应用,我的脚本未加载到" app"网站的一部分,我不知道是什么阻止它。

该网站为https://www.boxtal.com/fr/fr/accueil

以下是我尝试添加的脚本(我刚刚离开按钮,需要测试的是网站正在加载它):

// ==UserScript==
// @name        boxtal
// @namespace   boxtal
// @description boxtal
// @include     https://www.boxtal.com/*
// @version     2
// @grant       none
// ==/UserScript==

function addButtons() {
    document.body.innerHTML += '<div style="position:absolute;bottom:20px;right:20px;z-index:80;border:1px black solid"><button type="button" id="startButton">Start</button></div>';
}

addButtons();

&#34;开始&#34;按钮添加在所有页面的右下角,不使用webapp但不在其他页面中。

您对如何在这些页面中推送我的脚本有任何建议吗?

1 个答案:

答案 0 :(得分:0)

确保您的用户脚本已实际执行。您可以使用console.log检查它是否已执行,或者检查Tampermonkey面板是否已加载。打开浏览器错误控制台并观察语法错误(在Firefox的情况下:使用全局控制台,而不仅仅是Web开发人员工具箱中的控制台)。

另外:插入脚本的方式可能会破坏网页,因为您将整个DOM树序列化为HTML字符串,附加您的代码段,然后让浏览器再次解析字符串并替换当前的DOM节点 - 这将删除DOM树中所有动态添加的事件处理程序。使用类似document.body.appendChild()的内容向页面添加节点。