2015-09-28 2 views
0

Я использую google-code-prettify через CDN <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script> как упомянуто в FAQ над hereprettyPrint() это функция, которая выделяет код. Теперь я имею проблемыфункция prettyPrint() не работает после загрузки страницы

prettyPrint(), когда я называю эту функцию он говорит не определен автоматически вызывает CDN эту функцию при загрузке страницы и основные моменты синтаксиса, но после загрузки я меняюсь содержание кодов, то я хочу, чтобы это подчеркнуть еще раз. Но я не могу с prettyPrint() функцией.

я самодостаточно google-code-prettify, а затем я использовал prettyPrint() и она работала нормально, но когда я называю эту функцию после того, как я изменить мой код ничего не происходит, не выделяет мой синтаксис

Вот код, я использую

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Developer Query</title> 
<link href="css/header.css" rel="stylesheet" type="text/css"> 
<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script> 
<style> 
/*This CSS applied button in which section user is visiting. */ 
ul#nav > li#btn2 { 
    border-top: 3px solid #FF9900; 
    border-left: 2px solid grey; 
    border-right: 2px solid grey; 
    border-bottom: 2px solid white; 
    border-radius: 4px; 
} 
/*Button CSS is end. */ 
.content{ 
    width:1136px; 
    margin:0px auto; 
} 
input#question_title{ 
    margin:20px auto; 
    width:100%; 
    height:20px; 
} 
textarea#question_content{ 
    width:100%; 
    height:300px; 
    margin:0px auto; 
} 
#preview{ 
    width:100%; 
    overflow:auto; 
} 
</style> 
</head> 

<body> 
<?php include_once('php_include/header.php'); ?> 
<div class="content"> 
    <input type="text" name="question_title" id="question_title" placeholder="What happed with your code?" /> 
    <textarea id="question_content" name="question_content" placeholder="Elabrote your code" onKeyUp="render();"></textarea> 
    <h3>Here's what it look like</h3> 
    <code class="prettyprint"><div id="preview">&lt;html&gt;</div></code> 
    </div> 
</body> 
<script> 
//HELPER FUNCTIONS//// 
function $(id){ 
    return document.getElementById(id); 
} 
function render(){// 
    var question_content = $("question_content").value; 
    //Sanitizing data// 
    var entitles = {//List of all Html entitiles 
     '<':"&lt;", 
     '>':"&gt;", 
     '\n':"<br>",   
    } 
    question_content = question_content.replace(/<|>|\n/gi, function (html_ent){return entitles[html_ent];}); 
    var preview = $("preview"); 
    preview.innerHTML = question_content; 
    //prettyPrint(); 
} 
</script> 
</html> 
+0

Пожалуйста, покажите свой HTML, в том числе, где вы используете prettify. Это может быть проблема DOM. –

+0

обновленный вопрос с моим кодом –

+1

Я не вижу места, где вы действительно включаете скрипт. Есть ли в вашем коде '' в вашем коде или что-то в этом роде? –

ответ

0

Когда prettyprint() запускается, он добавляет «» класс Аккуратно для каждого элемента меняется. Если вам нужно повторно применить prettyprint(), сначала удалите класс «prettyprinted», затем вызовите prettyprint().

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