首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ie7脚本错误行0 char 0代码0 jQuery1.10.1

ie7脚本错误行0 char 0代码0 jQuery1.10.1
EN

Stack Overflow用户
提问于 2013-09-09 14:48:20
回答 4查看 4.9K关注 0票数 1

我正在添加一些社交分享链接到一个网站。在HTML中,我只有以下基本链接:

代码语言:javascript
复制
<a class="facebook_share" href="https://www.facebook.com/sharer/sharer.php">Facebook</a>

我使用jQuery 1.10.1向链接href添加参数(当前页面url,以及某些社交网络的当前页面标题)。下面是一个例子:

代码语言:javascript
复制
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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-09-09 14:58:56

这是关于属性与属性的关系。属性被设置,然后不更改属性。因此,文档/页面等(title,href)上的属性会发生变化,并且可以按更改后访问,属性保留原始值,当它们是“真正的”属性时不会更改。

它们访问“文档”属性:

代码语言:javascript
复制
var $title = $(this).attr('title');
var $href = $(location).attr('href');

它们访问当前属性值:

代码语言:javascript
复制
var $title = document.title;
var $href = location.href;
票数 3
EN

Stack Overflow用户

发布于 2013-09-09 14:56:28

jQuery的$()函数只用于“包装”DOM元素。

代码语言:javascript
复制
var $title = $(this).attr('title');
var $href = $(location).attr('href');

很有可能,这就是在IE7中破坏它的原因。这不是访问这些属性的正确方法。

尝试使用本机属性:

代码语言:javascript
复制
var $title = document.title;
var $href = location.href;
票数 2
EN

Stack Overflow用户

发布于 2013-09-09 14:50:08

您不应该通过DOM访问标题,必须使用document.title变量

代码语言:javascript
复制
var title = document.title

应该解决问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18700972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档