Bookmarklet在IE10中无法正常工作/打开

时间:2013-05-06 09:05:11

标签: javascript bookmarklet internet-explorer-10

我创建了一个bookmarklet(微小的javascript函数),在ie7,8,9和Firefox,Chrome,safari中运行良好,但它不能在IE10中运行。当用户点击书签栏上的书签按钮时,实际上不会在IE10中打开。

<a href="javascript:(function(){var jsScript=document.createElement('script');
jsScript.setAttribute('type','text/javascript');
jsScript.setAttribute('src', '<?php echo base_url()?>bookmarklet');
document.getElementsByTagName('head')[0].appendChild(jsScript);
var jq=document.createElement('script');jq.setAttribute('type','text/javascript');jq.setAttribute('src', '<?php echo base_url()?>js/jquery/jquery-1.8.3.js');

document.getElementsByTagName('head')[0].appendChild(jq);})();"
title="bookmarklet" 
alt="bookmarklet" 
name="bookmarklet" 
class="bookmarklet_bt_dragable" 
style="cursor:move;">bookmarklet</a> 

小书签按钮,通过单击必须打开的小书签。

请有人建议我如何处理这个问题。

感谢。

1 个答案:

答案 0 :(得分:1)

在我使用的代码片段中

document.getElementsByTagName('head')[0]

创建头对象以将我的javaScript文件附加到它。

由于此行,IE10对待未分级,因此在添加bookmarklet时丢弃了javascript代码。

请使用

document.getElementsByTagName('head').item(0)

而不是

document.getElementsByTagName('head')[0]

这一行,如果任何一个人面临这个问题,它将会运作良好。