Uservoice要求你在页面加载时异步加载他们的小部件,代码如下:
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);
})();然后,他们会让你选择在点击时运行他们的小部件,如下所示:
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();
});但它实际上并不起作用?有没有其他已知的方法?
发布于 2012-02-27 20:13:47
试试这个:
$('selector').click(function () {
var uvOptions = {};
var showWidget = function() { window.UserVoice.showPopupWidget(); };
if(window.UserVoice) return showWidget(); // Loaded already
$.getScript(
('https:' == document.location.protocol ? 'https://' : 'http://') +
'widget.uservoice.com/cyoJokWhM5SEW9I3h3oBFQ.js',
showWidget
);
});发布于 2015-02-05 19:23:41
尝尝这个
<a href="http://back-up-url-goes-here.com" data-uv-trigger>Contact us</a>请参阅here for more details
https://stackoverflow.com/questions/9464658
复制相似问题