我正在嘗試編寫瀏覽器擴展插件,以在第三方網站上添加一些功能並重新格式化某些數據。使用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) –