..我怎么能避免这个?
我会简单地告诉你我正在做的事情。
我使用下面的脚本来复制指定div的代码内容。
$("a.copy-code").on('click', function (e) {
e.preventDefault();
}).each(function () {
var linkId = $(this).attr("id");
$(this).zclip({
path: '<?php bloginfo('
template_url '); ?>/clipboard/ZeroClipboard.swf',
copy: function () {
return $('div[data-id=' + linkId + ']').html();
}
});
});
这一切都很棒,包含对象标签和iframe标签等。
但是我使用上面的脚本来复制这样的内容......
<div class="hide" data-id="copy-wb-small">
<a href="#" onclick="window.open('http://www.live.co.uk/?utm_source=' + window.location.host + '&utm_medium=Web%20Badge&utm_campaign=%2BLive%2B2013'); return false;"><img src="http://www.live.co.uk/assets/mcl-badge-100px.jpg" alt="" /></a>
</div>
正如您所看到的,我的锚标记中有一个onClick标记。
现在当我复制它时,这是我在剪贴板中得到的结果......
<a href="#" onclick=""><img src="http://www.live.co.uk/assets/mcl-badge-100px.jpg" alt=""></a>
它遗漏了我的所有剧本。并且剪贴板中的onClick为空。
任何人都可以建议是否有像.html()
这样的函数包含脚本吗?
我用zclip创建了一个小提琴,它工作正常。
所以它必须与页面的输出有关。
请参阅小提琴here。
答案 0 :(得分:0)
我发现了问题。
我猜wordpress the_content()php标签从我的html中删除所有脚本。所以在我的页面中使用了wordpress代码标签,将脚本输出为html。
然后就这样更改了代码。
$("a.copy-code").on('click', function (e) {
e.preventDefault();
}).each(function () {
var linkId = $(this).attr("id");
$(this).zclip({
path: 'http://secure.fbapps.co.uk/dev/clipboard/ZeroClipboard.swf',
copy: function() {
return $('code[data-id='+linkId+']').html();
}
});
});