Я новичок в JavaScript.
Сейчас я работаю над расширением Chrome.
Мне нужно проанализировать имя проекта со страницы (Vtiger CRM), затем создать карту в Trello, имя карты должно быть именем проанализированного проекта. (извините за мой английский).
manifest.json
{
"manifest_version": 2,
"name": "Roonyx VTIGER optimizer",
"version": "0.0.1",
"description": "Создание доски в Trello и чата в Discord",
"icons": {
"64": "icon.png"
},
"browser_action": {
"default_icon": "icon.png",
"default_title": "Roonyx VTIGER optimizer",
"default_popup": "popup.html"
},
"web_accessible_resources": [
"settings/index.html",
"popup.html"
],
"options_page": "settings/index.html",
"content_scripts": [
{
"js": [
"scripts/jquery-2.1.1.js",
"scripts/client.js",
"scripts/key.js",
"scripts/settings.js",
"scripts/hashSearch.js"
],
"run_at": "document_idle",
"matches": [ "<all_urls>" ]
}
],
"background": {
"scripts": ["scripts/background.js"],
"persistent": false
},
"permissions": ["storage", "identity", "tabs", "<all_urls>"]
}
Вот часть моего кода background.js:
var myProject;
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
window.myProject = $(request.content).find(".projectname").text();
});
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.executeScript(tab.id, {
code: "chrome.extension.sendMessage({content: document.body.innerHTML}, function(response) { console.log('success'); });"
}, function() { console.log('done'); });
});
// Trello Creating Card
var APP_KEY = '*app_key*';
var myList = '5d1089c67893fe7afb014694';
function trelloInit() {
Trello.setKey(APP_KEY);
Trello.setToken(localStorage.getItem('trello_token'));
}
var creationSuccess = function (data) {
console.log('Card created successfully.');
console.log(JSON.stringify(data, null, 2));
console.log(myProject);
};
var newCard = {
name: myProject,
desc: 'This is the description of our new card.',
// Place this card at the top of our list
idList: myList,
pos: 'top'
};
function createCard() {
$("#trello_create_card").click(function () {
trelloInit();
Trello.post('/cards/', newCard, creationSuccess);
});
}
$(document).ready(createCard);
Я вижу нужное имя проекта в консоли, как и ожидалось, когда скрипт выполняет «console.log (myProject)» в функции creationSuccess.
Но я вижу созданную карточку с пустым именем в Trello.
Я уже пытался использовать window.myProject в newCard, но ничего не меняется ...
Если вам нужно увидеть все настройки, вы можете увидеть репо на GitHub:
https://github.com/AnatolySt/chrome-roonyx
Может кто-нибудь объяснить, что я делаю не так, пожалуйста?
Заранее спасибо)