<head>
<title>兼容IE和火狐的设为主页和加入收藏代码</title>
<script type="text/javascript">
function addCookie()
{
if (document.all)
{
window.external.addFavorite('http://www.jsweb8.cn','JS特效学院')
}
else if (window.sidebar)
{
window.sidebar.addPanel('JS特效学院', 'http://www.jsweb8.cn', "")
}
}
function setHomepage()
{
if (document.all)
{
document.body.style.behavior='url(#default#homepage)'
document.body.setHomePage('http://www.jsweb8.cn')
}
else if (window.sidebar)
{
if(window.netscape)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
}
catch (e)
{
alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" )
}
}
var prefs = Components.classes['@mozilla.org/preferences-service1'].getService(Components. interfaces.nsIPrefBranch)
prefs.setCharPref('browser.startup.homepage','http://www.baidu.com')
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<a href="#" onclick="return addCookie()">加入收藏</a>
<a href="#" onclick="return setHomepage()">设为首页</a>
</form>
</body>
</html>
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
对于现阶段来说,使用HTML5标签可能遇到的最大问题就是如何在不支持新标签的浏览器中做恰当的处理。当我们在页面中使用HTML5元素时,可能会得到三种不同的结果。结果1:标签被当作错误处理并被忽略。那么DOM构建的时候,就会当作这个标签不存在。
结果2:标签会被当作错误处理,并在DOM构建的时候依然会按照预期的代码进行创建,并且HTML标签会被构造成行内元素(也就是说虽然不能识别,但是代码里section标签依然会在dom中创建一个对应section节点,但是属于行内元素)。
结果3:标签被识别为HTML5标签,然后用DOM节点对其进行替换。DOM在构建的时候和预想的一致,并且合适的样式会应用到标签上(大部分情况下是块级元素)。
有一个具体的例子,大家思考一下下面的代码:
<div class="outer">
<section>
<h1>title</h1>
<p>text</p>
</section>
</div>
很多浏览器(比如Firefox 3.6和Safari4)解析的时候都会将div作为最外层的元素,然后div里面是一个识别不了的元素(section),它会在DOM中创建,并被作为一个行内元素存在。h1和p元素都是作为section元素的子节点。因为section在DOM中真实存在,所以也可以修改其样式。这种情况对应结果2。
IE9之前的版本会认为section标签是一个错误,并直接将其忽略,那么h1和p标签会被解析,然后成为div标签的子节点。</section>也会被认为是一个错误并直接跳过。在这些浏览器中实际有效的代码是这样的:
<div class="outer">
<h1>title</h1>
<p>text</p>
</div>
因为你学的是老旧的js,你可以上网找新的,网上有关js的中文资料大都很老。
不要听别人建议就去用jquery,jquery就是javascript做的,兼容性好、易开发外,效率奇低。
自己好好钻研一下也能做好兼容性,而且效率肯定高过jquery