我正在添加一些社交分享链接到一个网站。在HTML中,我只有以下基本链接:
<a class="facebook_share" href="https://www.facebook.com/sharer/sharer.php">Facebook</a>我使用jQuery 1.10.1向链接href添加参数(当前页面url,以及某些社交网络的当前页面标题)。下面是一个例子:
jQuery(document).ready(function($) {
"use strict";
var $title = $(this).attr('title');
var $href = $(location).attr('href');
// Facebook
var fb_url = $("a.facebook_share").attr("href");
$("a.facebook_share").attr("href", fb_url + "?u=" + encodeURIComponent($href)); // add encoded version of current page href to FB url
});在IE7中,我得到了“页面上的错误”,如下所示:行:0 Char: 0错误:脚本错误代码:0
因此,在IE7中,参数不会被添加到链接href中。
铬,F‘’fox没事了。IE8现在可以在公共服务器上进行测试,但在本地WAMP服务器上测试时,我给出了“第5行:对象不支持此属性或方法”。
这里有4个网络链接的测试页面:
links.htm
发布于 2013-09-09 14:58:56
这是关于属性与属性的关系。属性被设置,然后不更改属性。因此,文档/页面等(title,href)上的属性会发生变化,并且可以按更改后访问,属性保留原始值,当它们是“真正的”属性时不会更改。
它们访问“文档”属性:
var $title = $(this).attr('title');
var $href = $(location).attr('href');它们访问当前属性值:
var $title = document.title;
var $href = location.href;发布于 2013-09-09 14:56:28
jQuery的$()函数只用于“包装”DOM元素。
var $title = $(this).attr('title');
var $href = $(location).attr('href');很有可能,这就是在IE7中破坏它的原因。这不是访问这些属性的正确方法。
尝试使用本机属性:
var $title = document.title;
var $href = location.href;发布于 2013-09-09 14:50:08
您不应该通过DOM访问标题,必须使用document.title变量
var title = document.title应该解决问题
https://stackoverflow.com/questions/18700972
复制相似问题