我在网站表中有一组数据,其中包含多个页面,我需要解析并添加某个字段的值,特别是价格字段和库存字段。 我无法访问代码或数据库。有没有人知道Chrome或Firefox中是否有可以促进此类功能的扩展程序?以下是我需要的数据示例:
我想要一个非常简单的摘要,例如“总库存价格:$ 500.00”。我甚至不介意它是否是每页,我必须写下每个新的总数并自己添加它们。我精通jQuery,所以如果我能以某种方式自己写这个,我甚至不介意指向那个方向。它必须是一个扩展,因为我没有直接访问该页面。
编辑:一个greasemonkey脚本可以这样做吗?
答案 0 :(得分:2)
如果你精通jQuery,并且知道如何从该表中提取数据并进行自己的计算,那么你就可以轻松完成!请参阅文档,它包含您执行此类操作所需的所有信息:
http://code.google.com/chrome/extensions/getstarted.html
如果您希望在访问该页面时始终显示总计,则可以使用content script。内容脚本世界将直接与该页面的DOM进行通信,因此您可以使用jQuery并执行您的操作。骨架就是:
<强>的manifest.json 强>
{
"name": "Content Script test",
"version": "0.1",
"description": "Content Script test",
"content_scripts": [
{
"matches": ["http://www.website.com/*"],
"js": [ "jquery-1.4.2.min.js", "cs.js" ],
"run_at": "document_start",
"all_frames": true
}
]
}
<强> cs.js 强>
// Your jQuery
如果只想在浏览器上单击按钮时显示总计。您可以使用browser action。单击该浏览器操作时,您需要background page才能收听。基本上,它的骨架将是:
<强>的manifest.json 强>
{
"name": "Browser Action test",
"version": "0.1",
"description": "Content Script test",
"background_page": "background.html",
"browser_action": {
"default_icon": "icon19.png",
"default_title": "Browser Action Test"
},
"permissions": [ "tabs", "http://www.website.com/*" ]
}
<强> background.html 强>
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {file: 'jquery-1.4.2.min.js'});
chrome.tabs.executeScript(tab.id, {file: 'cs.js'});
});
<强> cs.js 强>
// Your jQuery
就是这样,请参阅文档以获得更多帮助,上面的代码是未经测试的,所以如果开箱即用不起作用,请不要感到惊讶:)
答案 1 :(得分:1)
您可以尝试这样的操作,并将其另存为书签:
$('table.inventory').each( function(i){ // allow possibility of more than one table?
var arTot = $(this).find('tr').map( function(i,e){
var qty = parseInt( e.find('td:first').text(), 10 );
var price = parseFloat( e.find('td:last').text() );
return qty * price; // leave rounding and precision as your exercise
}).get(); // result as an array
alert( 'Total: ' + arraySum( arTot ) ); // reduce to single value
});
function arraySum( ar ){ // convenience function
for(var i=0, sum=0, len=ar.length; i<len; sum+=[i++]);
return sum;
}
未经过测试,但应该为您提供一般的想法。使用bookmarklet生成器(有many),放入JavaScript,并将其保存为书签。然后只需在查看任何页面时单击书签链接,您将收到显示总计的警报。可能的增强功能包括使用URL作为键将值保存到localStorage(因此您不会复制,并且可以跟踪累计总数)。