2016-03-18 2 views
1
<html> 

    <p> Some html </p> 

    <script> some script </script> 

    </html> 

Как идентифицировать тег сценария и отображать его как содержимое.Render Script в HTML без его исполнения

У меня есть div, предназначенный для отображения html на моей веб-странице, и если у него есть какой-либо скрипт, я хочу отображать их как содержимое, но при добавлении html в div скрипт выполняется, который я не хочу , Как сохранить скрипт от выполнения, есть ли какие-нибудь библиотеки для этого.

Примечание: 1. Сценарий Inline также должен быть предотвращен. 2. Содержимое, добавляемое в Html, является динамическим и получено из источника прослушивания электронной почты

Спасибо заранее!

+3

Если вы не хотите сценарий, не писать ''

0

Используйте document.ready(); метод. Это приведет к запуску вашего JavaScript только после того, как будут отображены все элементы HTML. А еще лучше, обернуть функцию в сокращенном JQuery:

$(function() { 
    alert("DOM elements rendered!"); 
}); 
1

, но в то время как добавление HTML, в DIV, скрипт запускается на выполнение, которое я не хочу, чтобы это произошло. Как сохранить скрипт от выполнения, есть ли какие-нибудь библиотеки для этого.

Так вы говорите, у вас уже есть содержание DIV и как только вы добавить его скрипт запускается на выполнение, это поведение по умолчанию, что мы можем сделать, это перед добавлением контента Div твоих мы можем изменить содержание для замены <script> и </script> на &lt;script&gt; и &lt;/script&gt;. Итак, вот демо.

var divContent = '<script>alert("I must not execute!!");<\/script>'; 
 

 
var res = divContent.replace(/<script/g,"&lt;script&gt;").replace(/<\/script/g,"&lt;/script&gt;"); 
 

 
document.getElementById("output").innerHTML = res;
<div id="output"> 
 
    
 
</div>

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