2

作成中の新しいサイトの Web コードを絞り込もうとしています。私が探していると思われるこの答えを見つけましたが、うまくいきません: https://stackoverflow.com/questions/13483194#13483649

jQuery以外の回答を試みていましたが、ページをFirefoxにロードしてボタンを押しても何も起こらないため、何かが足りないようです。私は phpDesigner ソフトウェアを使用しており、コピーを .htm ファイルに貼り付けてから Firefox で実行しています。

ここに私がしたコードがあります:

JavaScript:

// https://stackoverflow.com/a/5158301/74757
function getParameterByName(name, path) {
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(path);
    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

var hiddenElHtml = document.getElementsByClassName('hidden_elem')[0].innerHTML.replace('<!--', '').replace('-->', '');

var divObj = document.createElement('div');
divObj.innerHTML = hiddenElHtml;

var itemAnchor = divObj.getElementsByClassName('itemAnchor')[0];
var href = itemAnchor.getAttribute('href');

var fbId = getParameterByName('h', href);

alert(fbId);

HTML:

<code class="hidden_elem" id="ukftg4w44">
    <!-- <div class="mtm mlm">
     ...
      ....
    <span class="itemLabel fsm">Unfriend...</span></a></li>
    <li class="uiMenuItem" data-label="Report/Block...">
    <a class="itemAnchor" role="menuitem" tabindex="-1" href="/ajax/report/social.php?content_type=0&amp;cid=1352686914&amp;rid=1352686914&amp;ref=http%3A%2F%2Fwww.facebook.com%2F%3Fq&amp;h=AfjSxEzzdTSrz-pS&amp;from_gear=timeline" rel="dialog">
    <span class="itemLabel fsm">Report/Block...</span></a></li></ul></div>
     ....
    ...
    </div> -->
</code>

<button onclick="getParameterByName()">Try it</button>
4

1 に答える 1

0

ほとんど完了しました。このフィドルを見てください。その動作:
http://jsfiddle.net/promatik/qyeWT/

すべてのコードを関数に入れgetAttributes()、問題をより適切にテストするために別の属性を追加しました。

var fbId = getParameterByName('h', href);
var cId = getParameterByName('cid', href);

document.getElementById('parameter-h').innerHTML  = fbId;
document.getElementById('parameter-cid').innerHTML  = cId;

alert(fbId + "\n" + cId);

HTML:

<div><span>HREF = </span><span id="parameter-h"></span></div>
<div><span>CID = </span><span id="parameter-cid"></span></div>
<button id="tryagain">Try it</button>

ボタンにはイベントリスナーがあります。

document.getElementById("tryagain").addEventListener("click", getAttributes, false); 
于 2013-02-04T18:16:21.667 に答える