2

簡単な質問がありますが、JavaScript の初心者なので、調査結果を実装する方法がわかりません。

JavaScript を使用して現在の URL を取得し、その値を変数にロードする小さなスニペットを見つけました。

<script type="text/javascript" language="javascript">
  window.onload = function () {
    var currentUrl = window.location.href;
  }
</script>

の値はcurrentUrl現在のページの URL を保持します。

私が知る必要があるのは、ページの HTML 内でその値を使用する方法です。これを使用しようとしているアプリケーションは、facebook コメント プラグインです。

<div class="fb-comments" data-href="**currentUrl**" data-width="470" data-num-posts="2"></div>
4

3 に答える 3

5

divID を入力してください:

<div id="fb-comments" class="fb-comments"

data-href次に、次のように設定できます。

window.onload = function () {
    var currentUrl = window.location.href;
    document.getElementById("fb-comments").setAttribute("data-href", currentUrl);
}
于 2012-12-17T20:55:39.743 に答える
2

この特定の質問では、次のように思います。

// gets all elements of class-name 'fb-comments' from the document
var fbComments = document.getElementsByClassName('fb-comments');

// iterates through each of those elements
for (var i = 0, len = fbComments.length; i<len; i++) {
    // and sets the 'data-href' attribute to be the value held by the
    // the currentUrl variable
    fbComments[i].setAttribute('data-href', currentUrl);
}

実装していないブラウザの場合getElementsByClassName():

// gets all div elements within the document
var divs = document.getElementsByTagName('div');

// iterates through each of those div elements, and
for (var i = 0, len = divs.length; i<len; i++) {
    // if the class attribute contains a string equal to 'fb-comments'
    if (divs[i].className.indexOf('fb-comments') !== -1) {
        // sets the 'data-href' attribute to be equal to the value held
        // by the currentUrl variable
        divs[i].setAttribute('data-href', currentUrl);
    }
}

参考文献:

于 2012-12-17T20:56:36.783 に答える
0

あなたはこのようなことをすることができるかもしれません -

<div id="myCommentBox" class="fb-comments" data-href="**currentUrl**" data-width="470" data-num-posts="2"></div>

var element = document.getElementById('myCommentBox');
element.setAttribute("data-href", currentUrl); 

で簡単に見つけられるように<div>、属性を指定したことに注意してください。コメント ボックスを再レンダリングするには、属性を変更したらを呼び出す必要があることに注意してください。idgetElementByIdFB.XFBML.parse()data-href

于 2012-12-17T20:56:12.240 に答える