0

以下に示すように、ハイパーリンクから JavaScript 関数を呼び出しています。

<a href="javascript:redirect('param1','param2','http://google.com');">Do this</a>

この場合、redirect() 関数は期待どおりに呼び出され、3 番目のパラメーターの URL にリダイレクトされます。しかし、url パラメータが大きい場合 (200 文字以上)、javascript 関数が呼び出されることはありません。パラメータの長さに制限はありますか? 暗号化されたパラメーターをほとんど渡さず、それらが巨大であるため、URL をそれほど大きくする必要があります......

- - - - -編集 - - - - -

長い URL パラメータの例を次に示します。

<a href="javascript:redirect('A-0', '07', 'http://localhost:9083/xxxxx/aaa/bbbb/ccccc/redirectApply.do?token=9BsPtrGQPEYWv6dvbP9hsX9skeghTHnonkKZtsqrkZXSf7gKqKRYdo2i6CpcLOWxroqrWEDhyosk%0D%0A1aD1tQ0OBHHfsVjPKb%2B1kSFzjCg8lKyoGropGWc%2Bc7oCT8%2BYItwX');">
4

2 に答える 2

0

javascript を href 属性に直接埋め込む代わりに、動的にアタッチすることができます。

元:

<a id="example_link">Do this</a>

それで:

document.getElementById('example_link').onclick = function(){
    redirect('param1','param2','http://google.com');
    return false;
};

jQuery などの JavaScript ライブラリを使用している場合、または ID よりもアンカーを識別する方法が優れている場合は、より良い解決策があります。

于 2012-05-24T20:52:09.530 に答える
0

javascript:redirect を使用する代わりに、a タグの href を動的に変更します。これにより、ブラウザーは「新しいタブでリンクを開く」、Ctrl-クリック、または同様の機能を使用できるようになり、おそらく言及している問題は発生しません。これにより、ユーザーはリンクの上にカーソルを置いたときに移動先を確認することもできます。

于 2012-05-24T21:14:34.700 に答える