我正在尝试编写浏览器扩展插件,以在第三方网站上添加一些功能并重新格式化某些数据。使用FireFox Extension在本地更改远程网站的JavaScript?
我安装了Firefox Developer Edition。然后,我根据Beastify创建了一个简单的附加扩展。
我写了一个简单的脚本来监视span元素的innerHTML何时发生变化,然后做一些处理。
此代码的工作,但它不是我想要做的事情的方式:
function fixformat(){
var value = document.getElementById("value");
var valueFloat = parseFloat(value.innerHTML);
if (valueFloat < 1000) valueFloat += 1000;
value.innerHTML = valueFloat;
}
setInterval(fixformat, 100);
在它与下面的代码更新实时值的远程服务器:
totValue += _currentValue;
value = document.getElementById("value");
value.innerHTML = totValue;
但我想,以取代这一行:
value.innerHTML = totValue;
有了这个:
value.innerHTML = totValue + 1000;
此代码被埋在一个巨大的远程JavaScript文件中,当我浏览他们的网站时,它会被加载大约二十个javascript文件。这个JavaScript文件有大约4000行代码。当新信息可用时,它每1-15秒执行一次。
有没有一些方法来编程钩入该远程JavaScript文件?做一些简单的搜索和替换该代码行,这将使其他一切正常执行?
也许你可以创建脚本的副本,让你需要的修改。然后,当页面加载时,删除原始脚本标记并添加修改后的脚本。 –
那么这可能会工作,但它似乎是一个维护的噩梦,无论何时第三方网站更新的东西。我正在计划编写大量的小UI界面,在这里和那里搜索和替换一行代码要比保留数千行代码的本地副本要好得多。 –
感谢您的建议,虽然,我正在调查[这](嗯,这是吗?)(http://stackoverflow.com/questions/38071258/changing-a-remote-websites-javascript-locally-with-a-webextension) –