Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Беда с innerHTML (https://javascript.ru/forum/misc/52284-beda-s-innerhtml.html)

TPOJIb 11.12.2014 17:22

Беда с innerHTML
 
Собственно вопрос в следующем, пишу небольшое расширение под chrome, и столкнулся с следующей проблемой,
var str = document.getElementById('item_card_content').innerHTML; //Ищем текст
	var fin = '';
    if( /мой текст/.test(str)){
    	fin = 'Нет';
   }else{
		fin = 'Есть';
   }

вот эта часть кода отрабатывает на открытой странице но после попытки вывести ее в html расширения через:
var finds = document.getElementById('finds');
finds.innerHTML = fin; // добавляем в блок с id = finds  полученный код

ничего не происходит. поскольку и эта часть кода отрабатывается не в самом расширении а в том же окне что и первая его часть.
Полностью код выглядет так:
var str = document.getElementById('item_card_content').innerHTML; //Ищем текст
	var fin = '';
    if( /Пока готовим фотографии/.test(str)){
    	fin = 'Нет';
   }else{
		fin = 'Есть';
   }
   var finds = document.getElementById('finds');
   finds.innerHTML = fin; // добавляем в блок с id=finds  полученный код


Не судите строго, я только начинаю осваивать JS, объясните пожалуйста что я сделал не так?

krutoy 11.12.2014 18:12

Цитата:

Сообщение от TPOJIb
и эта часть кода отрабатывается не в самом расширении а в том же окне что и первая его часть.

ЯННП. Ваш код нормально работает, вот аналог.
<html>
<head>
</head>
<body>

<div id="foo">foo</div>
<div id="bar"></div>

<script>

var str = document.getElementById('foo').innerHTML
    if( /foo/.test(str)){
        fin = 'Yes';
   }else{
        fin = 'No';
   }
   var finds = document.getElementById('bar');
   finds.innerHTML = fin

</script>
</body>
</html>

что-то в настройках расширения не так, видимо.

TPOJIb 12.12.2014 10:17

Цитата:

Сообщение от krutoy (Сообщение 346084)
ЯННП. Ваш код нормально работает, вот аналог.
<html>
<head>
</head>
<body>

<div id="foo">foo</div>
<div id="bar"></div>

<script>

var str = document.getElementById('foo').innerHTML
    if( /foo/.test(str)){
        fin = 'Yes';
   }else{
        fin = 'No';
   }
   var finds = document.getElementById('bar');
   finds.innerHTML = fin

</script>
</body>
</html>

что-то в настройках расширения не так, видимо.

Вот в таком ключе все работает, но есть одно но. Страница на которой происходит поиск, это активная вкладка Chrom а страница на которой выводится результат это HTML внутри расширения, вот и получается что поиск пытается отработать на странице расширения, а должен в активной вкладке.


Часовой пояс GMT +3, время: 01:13.