0

次のようなJavaScriptがあります。

<script type="text/javascript">
$(document).ready(function () {
   $('#share_button@(number)').click(function (e) {
   e.preventDefault();
   FB.ui(
{
    method: 'feed',
    name: '@(item.Title)',
    link: ' http://www.newsifi.com',
    picture: 'http:/url/img/bla.png',
    caption: 'demo',
    description: '@(item.Description)',
    message: ''
});
                    });
                });
</script>

@(item.Description)表示:

En person er hardt skadet etter en frontkollisjon mellom en campbil og en annen bil på E6 sør for Otta i Gudbrandsdalen.

クロムをチェックインすると、次のエラーが表示されます。

エラー

そのため、基本的に共有機能は機能しなくなりました。

どうすればこれを修正できますか?

@(item.Description)動作するように変更しようとし @Server.UrlEncode(item.Description)ましたが、Facebook 共有ポップアップで非常に奇妙に表示されます。

これは次のようになります。

description: 'En+person+er+hardt+skadet+etter+en+frontkollisjon+mellom+en+campingbil+og+en+annen+bil+p%c3%a5+E6+s%c3%b8r+for+Otta+i+Gudbrandsdalen.%0a',

どんな種類の助けも大歓迎です!

ノート:

このJavaScriptがスウェーデン語のテキストでどのように機能するかを確認したところ、このSSのように見えても機能するようです。

ここに画像の説明を入力

4

1 に答える 1

0

生成されたソース コードから明らかなように、Javascript 文字列リテラル内に改行があります。

それは有効な Javascript ではありません。

文字列リテラルに表示できない改行などの文字をエスケープするには、文字列をJavascript エンコードする必要があります。
コールしHttpUtility.JavaScriptStringEncode()ます。

UrlEncode()これは URL ではないため、間違っています。

于 2013-07-14T19:22:07.847 に答える