0
我是構建Chrome擴展的新手。我正在使用內容腳本來檢索值。但Iam無法將這些值加載到popup.html中。如何使用按鈕單擊將從內容腳本中檢索到的值存儲到文本框中
以下是代碼。
popup.html
<head>
<script src="popup.js"></script>
</head>
<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="jsonName">Json Name</label><br />
<input type="text" id="jsonName" name="jsonName" value=""/></p>
<p><label for="jsonKey">Key</label><br />
<input type="text" id="jsonKey" name="jsonKey" value="" /></p>
<p><label for="jsonValue">JSON Value</label><br />
<input type="text" id="jsonValue" name="jsonValue" value="" /></p>
<p>
<input id="submitJson" type="submit" value="Send JSON Object/Valued" />
<!-- <span id="status-display"></span> -->
</p>
</form>
</body>
</html>
popup.js
function onPageDetailsReceived(pageDetails) {
document.getElementById('title').value = pageDetails.title;
document.getElementById('url').value = pageDetails.url;
document.getElementById('jsonValue').value = pageDetails.retrievedJsonValue;
}
window.addEventListener('load', function(evt) {
document.getElementById('submitJson').addEventListener('click',function(){
var jsonName = document.getElementById('jsonName').value;
if(jsonName.length > 1){
var jsonKey = document.getElementById('jsonKey').value;
var jsonValueToFind = "";
jsonValueToFind = jsonName+"."+jsonKey;
chrome.runtime.getBackgroundPage(function(eventPage) {
eventPage.getPageDetails(function(response){
alert(response.url);
document.getElementById('url').value = response.url;
}, jsonValueToFind);
});
}
});
});
event.js
function getPageDetails(callback,jsonValueToFind) {
chrome.tabs.executeScript(null,
{code:'var jsonValue ='+jsonValueToFind},
function(){
chrome.tabs.executeScript(null,{file: 'content.js' });
});
chrome.runtime.onMessage.addListener(function(message) {
callback(message);
});
}
content.js
chrome.runtime.sendMessage({
'title': document.title,
'url': window.location.href,
'retrievedJsonValue': jsonValue
});
任何人可以幫助我在存儲值文本框,在彈出框,按鈕點擊後。
嗨,這工作的罰款。現在如果我想在窗口對象中檢索一些json值,比如window.configData.ensightenTag.pageSource,它顯示「Can not read property'ensightenTag'of undefined。但是當我在開發者工具的控制檯中做同樣的事情時,我我得到的JSON值您能否提供一些想法來檢索JSON對象從window.configData.ensightenTag –
這也可能是一個對象,所以儘量'代碼:「JSON.stringify(」 + jsonValueToFind +「)」' – wOxxOm
不過,同錯誤。woxx ..是否有其他方式來獲取window.configData.ensightenTag.pageSource的價值 –