2017-02-16 2 views
0

Так недавно я занимаюсь созданием Chrome Extensions. Я хочу добавить поле ввода текста при нажатии кнопки, как это:Текстовые поля в Chrome Extensions?

манифеста: ...

"browser_action":{ 
"default_icon": "icon.png", 
"default_popup":"popup.html" 
}, 
"background":{ 
"scripts": ["background.js"] 
}, 

"permissions":["tabs"] 

} 

background.js:

function textfield(){ 
var field = document.createElement("INPUT"); 
field.setAttribute("type","text"); 
field.setAttribute("value","Id:"); 
document.body.appendChild(field); 
} 

popup.html: ...

<button onclick="textfield()"class="button"type="button">Regulations</button> 

Таким образом, проблема, с которой я сталкиваюсь, заключается в том, что я не могу изобразить почему появляется текстовое поле. Работа onclick работает, но по какой-то причине она не создается. Любые идеи?

ответ

0

Вам нужно немного изменить код для расширения, чтобы активировать событие щелчка.

document.getElementById('regButton').addEventListener('click', function() { 
 
    var field = document.createElement('input'); // INPUT also works 
 
    field.setAttribute('type', 'text'); 
 
    field.setAttribute('name', 'text'); 
 
    document.body.appendChild(field); 
 
    document.body.appendChild(document.createElement("br")); 
 
});
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    </head> 
 
    <body> 
 
    <button id="regButton" type="button">Regulations</button> 
 
    </body> 
 
</html>

0

Chrome Расширение не позволяет встроенных функций. Вам нужно зарегистрировать обработчик, используя document.getElementById('elementId').addEventListener внутри вашего javascript.

Reference

Смежные вопросы