如何让 Firefox 中的 javascript 也能在 IE 中运行

Posted

技术标签:

【中文标题】如何让 Firefox 中的 javascript 也能在 IE 中运行【英文标题】:How to make javascript working in Firefox also work in IE 【发布时间】:2011-07-04 18:41:31 【问题描述】:

您好,我有这段 javascript 代码,它在除 IE 之外的所有浏览器中都能完美运行。我怎样才能让它在 IE 版本中也能工作。此代码创建任何帖子的自动缩略图和摘要

function removehtmlTag(strx,chop) 
    if(strx.indexOf("<")!=-1)
    
        var s = strx.split("<"); 
        for(var i=0;i<s.length;i++) 
            if(s[i].indexOf(">")!=-1) 
                s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length); 
             
         
        strx =  s.join(""); 
    
    chop = (chop < strx.length-1) ? chop : strx.length-2; 
    while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++; 
    strx = strx.substring(0,chop-1); 
    return strx+'...'; 


function createSummaryAndThumb(pID, pURL, pTITLE)
    var div = document.getElementById(pID);
    var imgtag = "";
    var img = div.getElementsByTagName("img");
    var summ = summary_noimg;
    if(img.length>=1)  
        imgtag = '<span><a href="'+ pURL +'" title="'+ pTITLE+'"><img src="'+img[0].src+'"  /></a></span>';
        summ = summary_img;
    

    var summary = imgtag + '<div style="display:none;">' + removeHtmlTag(div.innerHTML,summ) + '</div>';
    div.innerHTML = summary;

【问题讨论】:

Internet Explorer 出现了什么错误? 请提及您的浏览器返回的错误,并发布一些额外的事件触发器,调用这些函数的代码 不知道这是否会触发问题,但widthheight 属性值应该是整数,并且不包含任何单位。不要与样式属性混淆。 【参考方案1】:

一个可能的罪魁祸首是使用 indexOf。 IE 不支持它(至少 7/8,不确定 9/10)。

与“how to fix array indexof in javascript for ie browsers”相关

【讨论】:

【参考方案2】:

尝试使用 IE 7/8

if ($.browser.msie && $.browser.version.substr(0,1)<7)
//your code goes here

此代码仅适用于 IE 5/6。对于 firefox 或其他浏览器,请在 else 声明处编写代码。

【讨论】:

以上是关于如何让 Firefox 中的 javascript 也能在 IE 中运行的主要内容,如果未能解决你的问题,请参考以下文章

Javascript - 从浏览器中的另一个模块设置“让”变量

检测 JS 中的所有 Firefox 版本

你如何清除javascript中的焦点?

如何在 Firefox / Firebug 中美化 JavaScript 和 CSS?

如何使用firefox适用于javascript的debugger命令

如何让 Firefox 在文件更改时自动刷新?