আমি জানি এটি অসংখ্য পোস্টে জিজ্ঞাসা করা হয়েছিল তবে সত্যই আমি সেগুলি পাই না। আমি জাভাস্ক্রিপ্ট, ক্রোম এক্সটেনশান এবং সবকিছুতে নতুন এবং আমার এই ক্লাসের দায়িত্ব রয়েছে। সুতরাং আমার এমন একটি প্লাগইন তৈরি করা দরকার যা ক্রস ডোমেন অনুরোধগুলি ব্যবহার করে যে কোনও পৃষ্ঠায় DOM অবজেক্টগুলি গণনা করবে। আমি এখনও পর্যন্ত Chrome এক্সটেনশন এপিআই ব্যবহার করে এটি অর্জন করতে সক্ষম হয়েছি। এখন সমস্যাটি হ'ল আমার পপআপ এইচটিএমএল পৃষ্ঠায় কন্টেন্টসস্ক্রিপ্ট.জেএস ফাইল থেকে ডেটা প্রদর্শন করা দরকার। আমি কীভাবে করব তা আমি জানি না যে আমি ডকুমেন্টেশনগুলি পড়ার চেষ্টা করেছি কিন্তু ক্রোমে মেসেজিং আমি কী করতে হবে তা বুঝতে পারি না।
নিম্নলিখিত এখন পর্যন্ত কোড নিম্নলিখিত।
manifest.json
{
"manifest_version":2,
"name":"Dom Reader",
"description":"Counts Dom Objects",
"version":"1.0",
"page_action": {
"default_icon":"icon.png",
"default_title":"Dom Reader",
"default_popup":"popup.html"
},
"background":{
"scripts":["eventPage.js"],
"persistent":false
},
"content_scripts":[
{
"matches":["http://pluralsight.com/training/Courses/*", "http://pluralsight.com/training/Authors/Details/*", "https://www.youtube.com/user/*", "https://sites.google.com/site/*", "http://127.0.0.1:3667/popup.html"],
"js":["domReader_cs.js","jquery-1.10.2.js"]
//"css":["pluralsight_cs.css"]
}
],
"permissions":[
"tabs",
"http://pluralsight.com/*",
"http://youtube.com/*",
"https://sites.google.com/*",
"http://127.0.0.1:3667/*"
]
popup.html
<!doctype html>
<html>
<title> Dom Reader </title>
<script src="jquery-1.10.2.js" type="text/javascript"></script>
<script src="popup.js" type="text/javascript"></script>
<body>
<H1> Dom Reader </H1>
<input type="submit" id="readDom" value="Read DOM Objects" />
<div id="domInfo">
</div>
</body>
</html>
ইভেন্টপেজ.জেএস
var value1,value2,value3;
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
if (request.action == "show") {
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
chrome.pageAction.show(tabs[0].id);
});
}
value1 = request.tElements;
});
popup.js
$(function (){
$('#readDom').click(function(){
chrome.tabs.query({active: true, currentWindow: true}, function (tabs){
chrome.tabs.sendMessage(tabs[0].id, {action: "readDom"});
});
});
});
কন্টেন্টস্ক্রিপ্ট
var totalElements;
var inputFields;
var buttonElement;
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse){
if(request.action == "readDom"){
totalElements = $("*").length;
inputFields = $("input").length;
buttonElement = $("button").length;
}
})
chrome.runtime.sendMessage({
action: "show",
tElements: totalElements,
Ifields: inputFields,
bElements: buttonElement
});
যে কোনও সহায়তা প্রশংসা করা হবে এবং দয়া করে আমি যে কোনও দুষ্টুতা এড়াতে হবে :)