小さな問題があります。アドレスバーでJavaScriptを実行すると、そこで呼び出している関数が値を返します。ページが新しいページに移動します。これを防ぐために、最後にvoid(0)を使用します。しかし、これが完了したら、関数の戻り値を取得するにはどうすればよいですか。
例:
javascript:function f(){return 'success'} f();void(0);
アドレスバーにこれを入力したときに、戻り値を取得するにはどうすればよいですか?
小さな問題があります。アドレスバーでJavaScriptを実行すると、そこで呼び出している関数が値を返します。ページが新しいページに移動します。これを防ぐために、最後にvoid(0)を使用します。しかし、これが完了したら、関数の戻り値を取得するにはどうすればよいですか。
例:
javascript:function f(){return 'success'} f();void(0);
アドレスバーにこれを入力したときに、戻り値を取得するにはどうすればよいですか?
このようなものはどうですか?
javascript:function f(){return 42}; var r = f(); alert("The result is " + r); void(0);
だから私がこれを理解すればあなたが望むものです:
あなたがこれをやりたい理由がわからないので、あなたがそれを説明すると、おそらく私の答えはあまり良くないでしょう。
ただし、たとえばページ上にtest()という関数を作成し、アドレスバーにJavaScriptを入力したときにそのページにいる場合は、その関数にデータを送信して、パラメータ
javascript:function f(){return 'success'} test(f());void(0);
このJavaScriptがページにある場合は呼び出され、「成功」というテキストのアラートが表示されます。
<script type="text/javascript">
function test(x)
{
alert(x);
}
</script>
ただし、ページでjavascript関数をテストする以外に、これをいつ使用するかは想像できません。
ドキュメントをナビゲートせずにアドレスバーを変更することはできません。それは事実です。
疑似プロトコルハンドラーを使用してアドレスバーでjavascriptを実行する場合は、「空のJavaScript関数で実際に何かを実行するにはどうすればよいですか?」javascript
の回答を参照してください。