3
UserVoice的要求您异步他们在页面加载插件其代码如下加载:负载UserVoice的API
var uvOptions = {};
(function() {
var uv = document.createElement('script'); uv.type = 'text/javascript'; uv.async = true;
uv.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'widget.uservoice.com/loremipsum.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(uv, s);
})();
然后他们给你来运行其上点击widget作为这样的选项:
javascript:UserVoice.showPopupWidget();
如果我不想一旦页面在所有只有当用户点击链接加载到加载其插件?
我假设是这样的:
$('selector').click(function() {
var uvOptions = {};
(function() {
var uv = document.createElement('script'); uv.type = 'text/javascript'; uv.async = true;
uv.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'widget.uservoice.com/cyoJokWhM5SEW9I3h3oBFQ.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(uv, s);
})();
javascript:UserVoice.showPopupWidget();
});
但它不实际工作?有没有其他已知的方法?
这看起来约权(与我做了修改)。它使用jQuery来加载脚本并将其添加到页面中,并且一旦该脚本被加载,就会调用显示弹出窗口小部件的回调函数。 – AKX 2012-02-27 12:28:22
并且通过额外的编辑,UserVoice脚本不应该被加载两次。 – AKX 2012-02-27 12:30:20
任何想法是什么交易与随机js文件名? cyoJokWhM5SEW9I3h3oBFQ.js。我不愿意将它硬编码到我的脚本中,因为它看起来可能会发生变化。有什么建议? – 2013-02-09 15:16:08