2016-04-01 17 views
0

Prism.jsを使用してHTMLの強調表示に問題があります 問題はPrism HTML highlighterとまったく同じです。しかし、そこの解決策は私の場合は機能しません。あなたがそこに見ることができるようにAngular.jsのHTML強調表示PRISM

Result

は、コードがhightlightedされなかった

[ソースコード]

<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/themes/prism.min.css" rel="stylesheet" /> 
 

 
<div class="container" > 
 

 
<div class="jumbotron" style="text-align: center"> 
 
     <h1>Lanyang Chat</h1> 
 
     <h1><small>Presentation</small></h1> 
 

 
    </div> 
 

 
    <div class="panel panel-default"> 
 
     <div class="panel-heading"> 
 
     <h3 class="panel-title">Testing</h3> 
 
     </div> 
 
     <div class="panel-body"> 
 

 
     <pre><code class="language-markup">&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/prism.min.js"></script></code></pre> 
 

 
     </div> 
 
    </div> 
 

 
</div> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/prism.min.js"></script>


[更新]

コード間違って何もありませんでした、問題はAngularJSと実装にあった


[一時的な解決] - @Angelo

リンクによって:http://webtoutsaint.com/prismjs_eng

私はページコントローラメソッドを使用し、コードは少し変更されているので、リンクgav私は構文エラーです。

app.controller('PrismCtrl', function() { 
    console.log("Page Controller reporting for duty."); 
    Prism.highlightAll(); 
    //Here is the problem, Prism is undefined if I include the js file on partial page, But work perfectly if I include it on index.html 
}); 

この問題は、index.htmlにprism.jsを含めると解決されました。しかし、partial/templateページにprism.jsを含めると、定義されていないエラーで失敗しました。

*注:私はAngular.jsに精通していませんが、誰でも私にこの問題を解決できますか?

main.js

var app = angular.module('LanyangChat', ['ngRoute']); 

app.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { 
    $locationProvider.html5Mode(true); 
    $routeProvider 
    .when("/", {templateUrl: "pages/login.html", controller: "PageCtrl"}) 
    .when("/login", {templateUrl: "pages/login.html", controller: "PageCtrl"}) 
    .when("/chat", {templateUrl: "pages/chat.html", controller: "PageCtrl"}) 
    .when("/online", {templateUrl: "pages/online.html", controller: "PageCtrl"}) 
    .when("/presentation", {templateUrl: "pages/presentation.html", controller: "PrismCtrl"}) 
    .when("/timeline", {templateUrl: "pages/timeline.html", controller: "PageCtrl"}) 
    .when("/changelog", {templateUrl: "pages/changelog.html", controller: "PageCtrl"}) 
    .when("/privacy-tos", {templateUrl: "pages/privacy-tos.html", controller: "PageCtrl"}) 
    .when("/about", {templateUrl: "pages/about.html", controller: "PageCtrl"}) 
    .when("/404", {templateUrl: "pages/404.html", controller: "PageCtrl"}) 
    .otherwise({redirectTo: '/404'}); 
}]); 

app.controller('PageCtrl', function (/* $scope, $location, $http */) { 
    //console.log("Page Controller reporting for duty."); 
}); 

app.controller('PrismCtrl', function() { 
    console.log("Page Controller reporting for duty."); 
    Prism.highlightAll(); 
}); 
+0

アップロード番目 次のトピックでは、それらを一緒に使用する方法の例を表示しますコードは、コードを簡単に操作できるように、組み込みのコードコンテナを使用してください。このツールは、編集メニューで見つけることができます。 – Angelo

+0

@Angelo悪い、更新されました – LckySnday

+0

'prism.css'と' prism.js'をダウンロードしてウェブサイトのディレクトリに置いてみましたが、代わりにローカルで使うことができましたか? – Angelo

答えて

2

角度としてAJAXを使用してprism.jsやフレームワークが、混同しないでくださいようです。しかし、それは不可能ではありません。

役に立ちましトピック:

+0

ありがとう、それは私の問題のほとんどを解決する。しかし、index.htmlではなく、部分ページにprism.jsを含める場合、この作業を行うにはどうすればいいですか? – LckySnday

+0

申し訳ありませんが、prism.jsとAngularによく似ているわけではありませんが、もっと多くの人々がそれを見ることができるように、新しい質問をすることをお勧めします。 – Angelo