質問
小さな問題があります。アドレスバーで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);
他のヒント
だから私がこれを理解しているなら、あなたが望むもの:
- 作成したページで、アドレスバーにJavaScriptを入力したい
- ページでは、アドレスバーに入力した関数の結果をキャッチしたい
私はあなたがこれをやりたい理由を理解しているかどうかわからないので、あなたがそれを説明しているなら、おそらく私の答えはあまり良くないでしょう。
ただし、たとえばページに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機能は実際に何かをすることができますか?
所属していません StackOverflow