Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2015, 12:07   #21
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
А что должно происходить? Вы проверяли значение в LS?
Да проверял, там пусто.
nibufep вне форума Ответить с цитированием
Старый 26.07.2015, 16:41   #22
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Код написан с виду верно. На какой странице вы проверяли? Нужно чтобы домен страницы был тем же, т.е. вашего расширения.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 26.07.2015, 16:49   #23
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
Нужно чтобы домен страницы был тем же, т.е. вашего расширения.
В каком смысле вашего расширения? А проверял на Яндексе.
И проверял не только записью в LS, а и банальным Alert и console.log
nibufep вне форума Ответить с цитированием
Старый 26.07.2015, 16:55   #24
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Вы открыли Popup-окно, у него есть свой URL-адрес: можете вывести location.href.

Каждый домен может записывать в свой LS, доступный только ему. Если записать в LS данные на странице яндекса, то со страницы гугла их прочитать будет невозможно.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 26.07.2015, 17:02   #25
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
Если записать в LS данные на странице яндекса, то со страницы гугла их прочитать будет невозможно.
Так мне это и нужно.
Я пробовал просто в document_end запускать скрипт end.js и там записывать в LS на любом сайте и все работало. А через popup.html не как не получается вызвать любой скрипт....

Наконец-то получилось вызвать функцию:

Код:
document.addEventListener('DOMContentLoaded', function () {
    document.querySelector('#amazing').addEventListener('click', doAmazingThings);

});
function doAmazingThings() {
 console.log("Кнопка нажата.");
}
Сообщение в консоль выводит, а вот в LS почему-то не записывает, в чем проблема?

Код:
function doAmazingThings() {
s = localStorage;
s['ReplaceHtmlID'+s.length] = 'Text';
}
А нет, записывает, только на страницу плагина, а как сделать чтобы записывало на текущию открытую страницу в браузере?
Изображения
Тип файла: jpg 2015-07-26_192522.jpg (29.6 Кб, 146 просмотров)

Последний раз редактировалось Stilet; 26.07.2015 в 21:38.
nibufep вне форума Ответить с цитированием
Старый 26.07.2015, 21:24   #26
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Запускать на странице content-script (foreground), в котором ставить слушатель, который будет вызывать функцию для манипуляции с данными LS.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 26.07.2015, 21:32   #27
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
Запускать на странице content-script (foreground), в котором ставить слушатель, который будет вызывать функцию для манипуляции с данными LS.
а можно подробней, как это сделать?
nibufep вне форума Ответить с цитированием
Старый 26.07.2015, 21:42   #28
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

https://developer.chrome.com/extensi...e_page_red.zip
Видимо это примерно то, что нужно, сделано очень просто.

Вместо `{code: '...` можно писать `{file: '...` - API это поддерживает.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 26.07.2015, 22:07   #29
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
https://developer.chrome.com/extensi...e_page_red.zip
Видимо это примерно то, что нужно, сделано очень просто.

Вместо `{code: '...` можно писать `{file: '...` - API это поддерживает.
Понял что в манифесте нужно разрешить доступ к текущий вкладке
Код:
  "permissions": [
    "activeTab"
  ],
А что дальше делать я если честно не понял...
nibufep вне форума Ответить с цитированием
Старый 26.07.2015, 22:15   #30
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Код:
document.addEventListener('DOMContentLoaded', function () {
document.querySelector('#amazing').addEventListener('click', doAmazingThings);
});
function doAmazingThings() {
chrome.tabs.executeScript({	
code: "s = localStorage,s['ReplaceHtmlID'+s.length] = 'Text'"
});
}
Как то так что-ли получится?
nibufep вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить код символа на символ rikomono Microsoft Office Excel 1 24.02.2013 18:47
заменить код на malloc() Андрей frost Общие вопросы C/C++ 3 17.05.2012 08:39
код на странице voldemen HTML и CSS 2 08.05.2010 23:29
Узнать, на какой странице выполняется код Winlook PHP 1 27.03.2010 04:44
Заменить HTML текст на открытой странице LEXX_RUS Работа с сетью в Delphi 1 05.08.2009 09:07