我正在尝试缩小我正在制作的新网站的一些网络代码。我发现这个答案似乎是我正在寻找的,但我无法让它起作用: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&cid=1352686914&rid=1352686914&ref=http%3A%2F%2Fwww.facebook.com%2F%3Fq&h=AfjSxEzzdTSrz-pS&from_gear=timeline" rel="dialog">
<span class="itemLabel fsm">Report/Block...</span></a></li></ul></div>
....
...
</div> -->
</code>
<button onclick="getParameterByName()">Try it</button>
答案 0 :(得分: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>
按钮有一个eventlistener:
document.getElementById("tryagain").addEventListener("click", getAttributes, false);