JavaScript并不是与挪威文字
问题描述:
工作Facebook分享我有一个JavaScript看起来像这样:JavaScript并不是与挪威文字
<script type="text/javascript">
$(document).ready(function() {
$('#[email protected](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 campingbil og en annen bil på E6 sør for Otta i Gudbrandsdalen.
当我在Chrome检查是错误:
所以基本上共享函数i不再工作了。
我该如何解决这个问题?
我试图改变@(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工作。
答
您可以清楚地从生成的源代码看,你有一个换行符的JavaScript字符串字面内。
这是无效的Javascript。
您需要Javascript编码用于转义字符的字符串,如不能出现在字符串文字中的换行符。
致电HttpUtility.JavaScriptStringEncode()
。
UrlEncode()
是错误的,因为这不是一个URL。
嗯我怎么能在我的JavaScript中使用它? – Obsivus
@Rohander:看看你的源代码。问题是Razor代码写入非法Javascript。你不明白什么? – SLaks
我不明白我如何使用我的剃刀@(item.description)周围的JavascriptStringEncode()。 – Obsivus