6

我有一个生成随机引用的网页,并且我有一个按钮,当单击该按钮时,应该重定向到 Twitter 网络意图页面,以便允许查看者发送已经预先填充了引用文本的推文。

按钮代码:

<a class="btn btn-info btn-lg" href="#" data-size="large" 
id="tweet-button"><i class="fa fa-twitter"></i>Tweet the current quote!</a>

单击按钮时的 jQuery 将修改按钮的“href”属性,因此它将预先填充的文本添加到 URL 中以在此后显示它。

$("#tweet-button").click(function (){
    $(this).attr("href", "https://twitter.com/intent/tweet?text=" + encodeURIComponent($("#quote").text()) );
}); 

当我单击按钮时,我收到此错误:

Refused to execute inline script because it violates the following
Content Security Policy directive: "script-src
https://connect.facebook.net https://cm.g.doubleclick.net 
https://ssl.google-analytics.com https://graph.facebook.com  
https://twitter.com https://*.userzoom.com 'unsafe-eval' 
https://*.twimg.com https://api.twitter.com https://analytics.twitter.com 
'nonce-6B1Ck//9/fE6OIatYBYe4A==' https://ton.twitter.com  
https://syndication.twitter.com https://www.google.com 
https://t.tellapart.com https://platform.twitter.com https://www.google-
analytics.com 'self'". Either the 'unsafe-inline' keyword, a hash 
('sha256-<sha256-hash'), or a nonce ('nonce-...') is required to enable 
inline execution

如果我在 URL 中包含静态文本而不是从$("#quote").text()正常工作,但无法弄清楚原因。在这两种情况下,我也应该得到 CSP 错误,或者根本没有得到。

4

0 回答 0