2012-03-13 12 views
1

JavaScriptの関数に長い文字列を渡そうとしています。現在のところ、この呼び出しは、私はhtmlコードを生成するxslファイルがあり、コード内でこれを行うリンクを生成します。getメソッドを使用してjavascript関数を呼び出すとき、IEの制限は2083文字です

<a href="javascript:myFunctionName('long xml string')">My Link</a> 

私は、POSTメソッドを使用すると、2083文字のIEによって制限を回避することを知っているが、それについて移動する最良の方法で確認していません。

+1

'GET' /' POST'メソッドあなたがHREF' 'へのローカル' JS'機能ではなく、ナビゲーションを呼び出しているとしてあなたの問題をどうかは何もありません。..しかし、はい、IEは(私が知る限り)**文字列リテラル**の文字のnasti制限を持っています**。連結を使用して文字列を構築することで、この問題を回避することができます。 –

+1

制限はwininet.hのINTERNET_MAX_URL_LENGTHです。 –

答えて

1

これはおそらくIEのURLの長さの制限によるものです。これは、スクリプトがhref属性になっているために影響している可能性があります。

デフォルトのクリックイベントを防ぐには、関数からfalseを返す必要があるかもしれません。

また、Javascriptを別の領域に移動して、そこからリンクのonclickプロパティに関数をバインドすることもできます。