0

Facebook/Twitterなどで共有するために、このスクリプトをWebサイトに持っています...

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" />
4

2 に答える 2

2

問題は次の行から発生しているようです。

encodeURIComponent(d.content)

その時点で が定義されていない場合は、前のループdで値が割り当てられなかったことを意味します。これは、割り当て先forの属性値を持つタグが見つからなかったことを意味します。私があなたなら、ループの後にブレークポイントを置き、その時点で の値をチェックします。"og:description"dford

于 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 に答える