javascript
2015-07-03 5 views 0 likes 
0

Можно ли написать функцию с помощью innerHTML в JavaScript, как показано ниже:Запись функции с помощью innerHTML в JavaScript

например:

frameDoc.body.innerHTML ='<script type="text/javascript">'; 
frameDoc.body.innerHTML+='function highlightSearch(){'; 
frameDoc.body.innerHTML+='alert("example");'; 
frameDoc.body.innerHTML+='return true;}'; 
frameDoc.body.innerHTML+='</script>'; 
+0

Да. Почему нет ?. – fiddler

+2

В чем проблема, которую вы хотите решить, делая это - не так много ситуаций, что это будет _best_ способ делать что-то. – glenatron

+0

Или более аккуратно через document.createElement ('script') –

ответ

3

Да, можно добавить function до HTML файл trought innerHTML. Фактически, большинство третьих лиц API делают это. Они добавляют свой собственный скрипт с использованием этой системы или document.createElement('script').

2

Если вы хотите выполнить код, вы должны изменить подход. Лучший способ сделать это - создать динамический узел сценария и добавить его в документ. Хуже подход, но он все еще работает, используя document.write.

document.write('<script type="text/javascript">'); 
document.write('function highlightSearch(){'); 
document.write('alert("example");'); 
document.write('return true;}'); 
document.write('highlightSearch()'); 
document.write('<\/script>'); 

Обратите внимание, что я добавил document.write ('highlightSearch()'); для выполнения функции.

+0

Пожалуйста, предложите мне использовать innerHTML. –

+0

Вместо innerHTML вы можете использовать appendChild. var g = document.createElement ('script'); var s = document.getElementsByTagName ('script') [0]; g.text = "alert (\" hi \ ");" s.parentNode.insertBefore (g, s); –

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