我是铬扩展开发的新手,我创建了一个扩展chrome,它根据用户给出的表单数据检索一些数据。但是,我不知道如何动态地将表单值发送给chromes扩展。 以下是我正在使用的代码。 的manifest.json将表单值发送到Chrome扩展
{
"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);
});
});
任何一个可以建议我如何动态地发送文本jsonName值序得到的文档的动态数据作为警告。例如,如果用户在jsonName中输入window.location.href,它应该返回输入字段的值作为警报。