【发布时间】:2015-08-22 09:07:22
【问题描述】:
我是 chrome 扩展程序开发的新手,我正在创建一个 chrome 扩展程序,它根据用户提供的表单数据检索一些数据。但是,我不知道如何将表单值动态发送到 chromes 扩展。 这是我正在使用的以下代码。 manifest.json
{
"manifest_version": 2,
"name": "Bookmark Extension Example",
"description": "POST details of the current page to a remote endpoint.",
"version": "0.2",
"background": {
"scripts": ["event.js"],
"persistent": false
},
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"http://*/*",
"https://*/*"
]
}
popup.html
<body>
<form id="addbookmark">
<p><label for="title">Title</label><br />
<input type="text" id="title" name="title" size="50" value="" /></p>
<p><label for="url">Url</label><br />
<input type="text" id="url" name="url" size="50" value="" /></p>
<p><label for="summary">Summary</label><br />
<textarea id="summary" name="summary" rows="6" cols="35"></textarea></p>
<p><label for="tags">Json Name</label><br />
<input type="text" id="jsonName" name="jsonName" size="50" value="document.title" /></p>
<p>
<input id="submitJson" type="submit" value="Send JSON Object / Value" />
<!-- <span id="status-display"></span> -->
</p>
</form>
</body>
content.js
chrome.runtime.sendMessage({
'title': document.title,
'url': window.location.href,
'summary': window.location.href
});
event.js
function getPageDetails(callback) {
chrome.tabs.executeScript(null, { file: 'content.js' });
chrome.runtime.onMessage.addListener(function(message) {
callback(message);
});
};
popup.js
function onPageDetailsReceived(pageDetails) {
document.getElementById('title').value = pageDetails.title;
document.getElementById('url').value = pageDetails.url;
document.getElementById('summary').value = pageDetails.summary;
}
window.addEventListener('load', function(evt) {
chrome.runtime.getBackgroundPage(function(eventPage) {
eventPage.getPageDetails(onPageDetailsReceived);
});
});
谁能建议我如何动态发送 textbox jsonName 值以获取文档的动态数据作为警报。 例如,如果用户在 jsonName 中输入 window.location.href,它应该将输入字段的值作为警报返回。
【问题讨论】:
标签: javascript html google-chrome-extension