所以我想要實現的是從網站操作JavaScript變量,以便當我加載頁面時,它會更改爲預先確定的值(inmyscript.js)。Safari擴展 - 更改預定義的Javascript變量值
在Safari的擴展名建設者,我有以下設置:
- 訪問級別:所有(要確保它是暫時正常運行)
- 啓動腳本:jquery.min.js(中jQuery腳本)
- 結束Scritps:myscript.js(myscript)的
啓動腳本,將加載jQuery腳本,因爲我想用jQuery的一些DOM操作。 結束腳本是包含覆蓋變量的腳本,我試圖在HTML文檔中進行更改。
目前myscript.js樣子:
$(document).ready(function(){
var numberImThinkingOf = 999;
});
爲了什麼,我試圖做一個例子:下面的頁面,打印出numberImThinkingOf的值,每次創建一個新的段落元素提交按鈕。
所以用了擴展它會打印出
- 值:5
- 值:5
- 值:5
如果按壓3次。
不過,我想我的Safari瀏覽器插件來改變numberImThinkingOf變量一旦所有的DOM元素加載的默認值,以在指定myscript.js這樣,當我按下提交按鈕它會輸出:
- Value:999
理想情況下,我不想操縱DOM,以便它插入另一個腳本元素。我原本雖然JavaScript附加變量的窗口對象。但我想我錯了。事件,如果我有一個腳本,如
$(document).ready(function(){
alert(numberImThinkingOf)
});
它返回undefined。 :(任何幫助將我非常讚賞
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script>
var numberImThinkingOf = 5;
function whatNumber(){
var newElement = document.createElement("p");
newElement.textContent = "Value: "+numberImThinkingOf;
document.body.insertBefore(newElement, document.body.firstChild);
}
</script>
</head>
<body>
<input type="submit" value="Continue →" onclick="whatNumber()" />
</body>
</html>
你爲什麼加載jQuery作爲啓動腳本?沒有理由這麼做,啓動腳本實際上僅用於需要中斷資源加載的腳本。只需加載它作爲你的第一個結束腳本。 –