繁体   English   中英

在ie9和ff4中工作-不在ie7或ie 8中吗?

[英]works in ie9 and ff4 - not in ie7 or ie 8?

我不久前写了这个脚本,并对其进行了修改,以使用css sprite减少图像。 一切都可以在ie9和ff4中完美运行,但是,我注意到它不会在ie7 / ie8中显示...这一定是css或js问题,但我当然看不到任何会阻止较旧的ie显示代码的东西。 ..

我将下面的全部内容包括在“测试”页面中,其中包括所有内容...如果有人可以指出我为什么在ie7或ie8中不起作用,我将不胜感激!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<style type="text/css">    
#social16 {height:16px;font-size:13px; color:#0066ff; font-weight:bold;}
#sb16 {margin: 0px; padding:0px; height:16px; display: inline;line-height:16px;}
#sb16 li {list-style-type:none;float:left;padding:0 5px 0 0;}
#sb16 li a {background:url(social.png);background-repeat:no-repeat;display: block;height: 16px;width:16px;}
#sb16 li a.item0 {background-position:0px 0px;}
#sb16 li a.item1 {background-position:-16px 0px;}
#sb16 li a.item2 {background-position:-32px 0px;}
#sb16 li a.item3 {background-position:-48px 0px;}
#sb16 li a.item4 {background-position:-64px 0px;}
#sb16 li a.item5 {background-position:-80px 0px;}
#sb16 li a.item6 {background-position:-96px 0px;}
</style>
</head>
<body>
<div id="social16"></div>
<script type="text/javascript">
(function(){

var sites = [
        ['Send to Facebook', 'http://www.facebook.com/sharer.php?u={url}&amp;t={title}'],
        ['Tweet This', 'http://twitter.com/share?text={title}&amp;url={url}'],
        ['Send to StumbleUpon', 'http://www.stumbleupon.com/submit?url={url}&amp;title={title}'],
        ['Digg This', 'http://digg.com/submit?phase=2&amp;url={url}&amp;title={title}'],
        ['Send to GoogleBuzz', 'http://www.google.com/buzz/post?message={title}&amp;url={url}'],        
        ['Send to Reddit', 'http://reddit.com/submit?url={url}&amp;title={title}'],
        ['Email to Friends', 'mailto:?subject={title}&amp;body={url}'],
    ];

var url = encodeURIComponent(location.href),
    url = url.replace( "#", "" ),
    title = encodeURIComponent(document.title),
    html = '<ul id="sb16"><li>Share this ... </li>';

for (var i = 0, len = sites.length; i < len; i++) {
    var site = sites[i],
    link = site[1].replace('{url}', url).replace('{title}', title);

    html += '<li><a class="item' + i + '" href="#" title="' + site[0] + '" onclick="window.open(\'' + link + '\')"></a></li>';
}

html += '</ul>';

document.getElementById("social16").innerHTML=(html);

})();
</script>
</body>
</html>
var sites = [
        ...
        ['Email to Friends', 'mailto:?subject={title}&amp;body={url}'],
    ];

您的最后一个元素的结尾, 去掉它。

进一步阅读

您在sites的最后一个元素之后输入逗号:

var sites = [
    //...
    ['Email to Friends', 'mailto:?subject={title}&amp;body={url}'],
    // -----------------------------------------------------------^
];

IE6和IE7不喜欢这样。 这通常显示为一个null的数组的结尾,你结束了一个null ,你不要指望一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM