2012-12-10 38 views
0

我有一個簡單的書籤,用於在提示符()中呈現元素的值。它可以工作,但是在窗口加載之後,只需輸入字符串「null」或提示的值即可。如何防止書籤加載其結果?

如何防止書籤導致頁面加載?

我只想讓腳本彈出提示,但什麼都不做。

我bookmarket是這樣的:

javascript:var%20description;var%20metas=document.getElementsByTagName('meta');for(var%20x=0,y=metas.length;x<y;x++){if(metas[x].name.toLowerCase()=="description"){description=metas[x];}}prompt("Meta%20Description",description.content); 

..這解開看起來是這樣的:

var description; 
var metas=document.getElementsByTagName('meta'); 
for(var x=0,y=metas.length;x<y;x++){ 
    if(metas[x].name.toLowerCase()=="description"){ 
     description=metas[x]; 
    } 
} 
prompt("Meta Description",description.content); 
+0

我試過return%20false;以及其他以創新方式失敗的摸索嘗試。我擅長這一點。 – Erics

回答

4

接受的辦法是這些天來包裝你的代碼中的「立即調用函數式」像這樣

(function(){ /*your code */})(); 

這比年底增加void(0);因爲在功能包裝你的代碼更好防止書籤和命名變量和函數在父HTML文檔範圍內發生衝突。

換句話說,如果您現在在使用JavaScript代碼和已有變量「description」的網頁上運行小書籤,則可能會產生問題。

2

在它的末尾添加void(0);

javascript:var%20description;var%20metas=document.getElementsByTagName('meta');for(var%20x=0,y=metas.length;x<y;x++){if(metas[x].name.toLowerCase()=="description"){description=metas[x];}}prompt("Meta%20Description",description.content);void(0); 
+0

這是完美的=) – Erics