我有一个 Greasemonkey 脚本(这里的原始线程:Javascript to grab Javascript comments within <head>)从网页中抓取一个字符串——我们的 CMS 在页面上标记的 PageID——然后这个字符串使用 Greasemonkey 显示在我的浏览器中。这样做的目的是为了网站维护,这样我就可以浏览我们的网站并快速查看特定页面的 PageID 是什么。用于实现此目的的代码是:
var commentNode = [].slice.call(document.head.childNodes).filter(function(node) {
return node.nodeType == 8;
})[0],
id = commentNode.data.match(/^\s*(\d+)/)[1];
var elem = document.createElement('div');
elem.id = 'id-display';
elem.appendChild(document.createTextNode(id));
document.body.appendChild(elem);
GM_addStyle = function(css) {
var head = document.getElementsByTagName('head')[0], style = document
.createElement('style');
if (!head) {
return
}
style.type = 'text/css';
style.textContent = css;
head.appendChild(style);
}
这在我的浏览器(Chrome 或 Firefox w/Greasemonkey)中显示为:
Page ID: 0001
我现在有一个单独的 HTML 报告,它以以下格式从我们的 CMS 发布:
<table class="report-table">
<thead>
<tr>
<th scope="col">Page Id</th>
<th scope="col">Page title</th>
<th scope="col">Page URL</th>
<th scope="col">Content Editor</th>
<th scope="col">Content manager</th>
<th scope="col">Date updated</th>
</tr>
</thead>
<tr>
<td>0001</td>
<td>Webpage title</td>
<td><a href="http://www.website.com/page01.htm">www.website.com/page01.htm</a></td>
<td>Joe Bloggs</td>
<td>Sussan Smith</td>
<td>01/11/2012</td>
</tr>
</table>
此网页报告保存在内部可访问位置\internal-pc\cms-report.html
我现在想做的是让我的 Greasemonkey 仍然获取 PageID 字符串,然后在cms-report.html中的表中查找此 PageID ,然后在 Greasemonkey 覆盖中显示此信息:
Page ID: 0001
Page title: Webpage title
Page URL: www.website.com/page01.htm
Content Editor: Joe Bloggs
Content manager: Sussan Smith
Date Updated: 01/11/2012
谁能带领我走正确的道路?