1

小さな問題があります。アドレスバーでJavaScriptを実行すると、そこで呼び出している関数が値を返します。ページが新しいページに移動します。これを防ぐために、最後にvoid(0)を使用します。しかし、これが完了したら、関数の戻り値を取得するにはどうすればよいですか。

例:

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

アドレスバーにこれを入力したときに、戻り値を取得するにはどうすればよいですか?

4

3 に答える 3

0

このようなものはどうですか?

javascript:function f(){return 42}; var r = f(); alert("The result is " + r); void(0);
于 2010-05-27T06:11:48.877 に答える
0

だから私がこれを理解すればあなたが望むものです:

  • 作成したページで、アドレスバーにJavaScriptを入力します
  • ページ内-アドレスバーに入力した関数の結果を取得したい

あなたがこれをやりたい理由がわからないので、あなたがそれを説明すると、おそらく私の答えはあまり良くないでしょう。

ただし、たとえばページ上にtest()という関数を作成し、アドレスバーにJavaScriptを入力したときにそのページにいる場合は、その関数にデータを送信して、パラメータ

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

このJavaScriptがページにある場合は呼び出され、「成功」というテキストのアラートが表示されます。

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

ただし、ページでjavascript関数をテストする以外に、これをいつ使用するかは想像できません。

于 2010-05-27T08:00:55.540 に答える
0

ドキュメントをナビゲートせずにアドレスバーを変更することはできません。それは事実です。

疑似プロトコルハンドラーを使用してアドレスバーでjavascriptを実行する場合は、「空のJavaScript関数で実際に何かを実行するにはどうすればよいですか?」javascriptの回答を参照してください。

于 2010-05-27T09:25:48.800 に答える