Кнопки не работают в приложении Chrome

0

Окей просто у меня есть упакованное приложение, это приложение содержит index.html и другие страницы.. index.html содержит кнопки Ссылка на другие страницы..

Проблема в том, что кнопки не работают! Когда я нажимаю на кнопки, ничего не происходит.

Здесь файл основного файла:

{
  "name": "TextTools",
  "description": "Simple tools for Text.",
  "version": "0.0.0.1",
  "manifest_version": 2,
  "icons": {
    "128": "logo.png"
  },

"app": {
    "launch": {
      "local_path": "index.html"
    }
  }
  }

И вот тег body.html body:

<body>

<center><div id="container">

<div><input id="btn1" type="button" value="Letters Counter" class="btn1" 
onclick="location.href='LettersCounter/LengthCalculator.html';"></div>


<div><input id="btn2" type="button" value="Case Converter"  class="btn2"
onclick="location.href='CaseConverter/CaseConverter.html';"/></input></div>



<div><input type="button" value="Text Capitalizer" class="btn3" 
onclick="location.href='CapitalizeText/CapitalizeText.html';"  /></div>


<div><input type="button" value="Words Counter" class="btn4"
onclick="location.href='WordsCounter/WordsCounter.html';" /></div>


<div><input type="button" value="QR-Generator" class="btn5"
onclick="location.href='QRcode/index.html';"  /></div>


</div></center>


<div id="foot" >

<p style="color:#B8B8B8; margin-left:10px; margin:10px; font-family: Gill Sans, sans-serif; font-size : 14px; "></p>
</div>

</body>

Я знаю, это очень просто, но я новичок :)

Теги:
google-chrome
google-chrome-app

1 ответ

2
Лучший ответ

Проблема

Вы используете встроенный javascript, который не разрешен политикой Content Security для Chrome Apps:

Политика безопасности содержимого для Chrome Apps ограничивает выполнение следующих действий:

  • Вы не можете использовать встроенные скрипты на своих страницах приложения Chrome. Ограничение запрещает как блоки, так и обработчики событий (<button onclick="...">).

[...]


Решение

Используйте внешний .js файл, в котором вы регистрируете слушателей. Например:

/* Instead of... */
<input id="btn1" type="button" onclick="..." ... />

/* ...change HTML to... */
<input id="btn1" type="button" ... />
...
<script type="text/javascript" src="myScript.js"></script>

/* ...and in 'myScript.js' add... */
document.getElenentById("btn1").addEventListener("click", function() {
    ...
});
  • 0
    @ Халед: Обычно рекомендуемая практика, которая по крайней мере сразу сказала бы вам обо всем, что вы делали неправильно, - это искать возможные сообщения об ошибках в консоли - как на переднем, так и на фоновом страницах вашего приложения, если вы можете не говорите, какой именно вам нужен (и если вы вообще не знаете, как получить доступ к консоли, вам следует прочитать об этом - это ваш инструмент отладки номер один). В вашем конкретном случае сообщение об ошибке о заблокированных встроенных скриптах (о чем упоминала ExpertSystem) наверняка было выведено на консоль.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню