2010-05-27 94 views
0

我有一個小問題。當即時通訊在地址欄中執行一個JavaScript和我在那裏調用的函數返回一個值。頁面移動到新頁面。爲了防止這種情況,我最後使用了void(0)。但一旦完成,我如何捕獲函數的返回值。javascript在地址欄中

對於如:

javascript:function f(){return 'success'} f();void(0); 

我如何獲取返回值,當我在地址欄輸入這個?

+0

答案在其瀏覽器中你得到這個行爲? – CMS 2010-05-27 05:57:26

+1

你想用返回值做什麼? – Elangovan 2010-05-27 06:02:50

+0

這是在IE中。而且,如果可能的話,我想把地址欄上的返回值。 – kambamsu 2010-05-27 06:31:24

回答

0

什麼是這樣的:

javascript:function f(){return 42}; var r = f(); alert("The result is " + r); void(0); 
+0

如果我們想看到結果,這將是非常有用的。但是,在我的情況下,我想從外面抓住它。因此,例如,如果有方法將其放置在地址欄中,那麼這將解決我的問題。 – kambamsu 2010-05-27 06:16:48

+0

那麼,像'click me'? – 2010-05-27 22:15:42

0

所以如果我理解THISIS你想要什麼:

  • 在您創建要在地址欄中輸入一個JavaScript的網頁
  • 在頁面中 - 您想要從地址欄中輸入的函數中捕獲結果

我不確定我是否理解你爲什麼要這樣做的原因,所以如果你描述這可能我的答案不會很好。

但是,如果您在頁面上創建了一個名爲test()的函數,並且當您在地址欄中輸入javascript時,您在該頁面上,則可以將數據發送到該函數,從而在參數

javascript:function f(){return 'success'} test(f());void(0); 

如果你有在頁面上該JavaScript捕捉值,它會被調用,將出現與文本「成功」的警報。

<script type="text/javascript"> 
function test(x) 
{ 
alert(x); 
} 
</script> 

我必須說,我無法想象,當使用這種除也許在頁面上測試JavaScript函數。