0

我在我的网站上有这个脚本,可以在 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>

在谷歌浏览器中它说: 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" />
4

2 回答 2

2

看起来问题来自这一行:

encodeURIComponent(d.content)

如果d此时未定义,则意味着在较早的for循环期间未为其分配值。这意味着它没有找到任何具有"og:description"要分配给的属性值的标签d。如果我是你,我会在for循环之后放置一个断点,并d在该点检查 's 的值。

于 2012-10-18T08:44:30.413 回答
0

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

像这样:

var c = document.getElementsByTagName('meta');
于 2012-10-18T08:32:41.280 回答