Jquery在chrome中给出错误

时间:2012-10-18 08:31:10

标签: javascript jquery google-chrome

我在我的网站上有这个脚本,可以在facebook / twitter上分享......

它适用于IE Firefox,但不适用于Chrome。

脚本看起来像这样:

<script>

$(document).ready(function () {

    var c = document.getElementsByTagName('meta'), d;

    for ( var x = 0, y = c.length; x < y; x++) {

        if (c[x].attributes[1].value.toLowerCase() == "og:description") {

            d = c[x];

        }

    }

    $("#maincontent_social_bar").replaceWith('<div id="maincontent_social_bar"><iframe src="http://share.bimbim.nl/sharepanel.php?s=YTozOntzOjE6ImQiO2k6MjtzOjI6InNuIjtzOjk6IjUsMSw0LDIsMyI7czoxOiJoIjtzOjMyOiI5ODdlNjAxMmYyYTU1MmY0YWQwMjdlMTY3NTFkZDIxYyI7fQ==&u='

                    + encodeURIComponent(window.location)

                    + '&t='

                    + encodeURIComponent(document.title)

                    + '&desc='

                    + encodeURIComponent(d.content)

                    + '" height="16" width="90" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:16px;" allowTransparency="true"></iframe></div>');

});

</script>

在Google Chrome中,它说:D未定义。我无法弄清楚为什么......有人可以给我一个暗示吗?

---更新---

以下是脚本正在查看的HTML标头:

<meta property="og:description" content="De landelijke docentendag voor mbo-interieurdocenten (niveau 4) op dinsdag 11 september was een succes. Ruim 30 docenten van twaalf convenantscholen waren op initiatief van WoonWerk in Nieuwegein bijeen om kennis te maken met de nieuwste ontwikkelingen in de woonbranche en te sparren met..." /><meta property="og:title" content="Grote opkomst docentendag: Onderwijs ontmoet woonbranche" /><meta name="description" content="De landelijke docentendag voor mbo-interieurdocenten (niveau 4) op dinsdag 11 september was een succes. Ruim 30 docenten van twaalf convenantscholen waren op initiatief van WoonWerk in Nieuwegein bijeen om kennis te maken met de nieuwste ontwikkelingen in de woonbranche en te sparren met..." /><meta name="robots" content="index, follow" />

2 个答案:

答案 0 :(得分:2)

看起来问题来自这一行:

encodeURIComponent(d.content)

如果此时未定义d,则表示在早期for循环期间未为其分配值。这意味着它没有找到任何带有"og:description"属性值的标记,以分配给d。如果我是你,我会在for循环之后设置一个断点,并在那时检查d的值。

答案 1 :(得分:0)

, d

中删除var c = document.getElementsByTagName('meta'), d;

像这样:

var c = document.getElementsByTagName('meta');