我是鉻擴展開發的新手,我創建了一個擴展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,它應該返回輸入字段的值作爲警報。