如果您不信任第三方 JavaScript(我不怪您,这很可怕!),您最好的选择是使用iframe
这些社交网络提供的实现。例如,您可以通过将以下框架添加到您的网站来包含 Facebook“Like”按钮:
<iframe src="//www.facebook.com/plugins/like.php?href=[PAGE_URL_GOES_HERE]&send=false&layout=button_count&width=450&show_faces=true&font&colorscheme=light&action=like&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:21px;" allowTransparency="true"></iframe>
https://dev.twitter.com/docs/tweet-button#using-an-iframe详细介绍了 Twitter 的类似设置。
将代码封装在 an 中iframe
可为您提供一些针对框架内容的保护措施,因为它无法到达父级以获取数据或操作您的代码。
iframe
您可以通过(巧妙命名的)sandbox
属性对沙盒进行沙箱化来提高保护级别。例如:
<iframe sandbox="allow-script allow-same-origin" src="..."></iframe>
会将页面加载到 中iframe
,并允许它运行可以访问其来源的脚本(但仍然不是父来源的来源)。但是,它不能导航顶级文档、加载插件等。Chrome、Safari、Firefox 18+ 和 IE9(我认为。可能是 10)支持沙盒。