2012-09-17 8 views
13

BloggerにSyntaxHighlighter 3.0.83を2,3時間インストールしようとしていました。 多くのチュートリアルを試しましたが、それでも動作しません。つまり、通常のテキストがnto preタグに挿入されたように見えます。 Blogger SyntaxHighlighterがまったく機能しない

は、私は新しいブログを作成して貼り付け:
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css'  rel='stylesheet' type='text/css'/> 
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/> 
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script> 
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js'  type='text/javascript'></script> 
<script language="javascript" type="text/javascript"> 
SyntaxHighlighter.config.bloggerMode = true; 
SyntaxHighlighter.all(); 
</script> 

...頭のタグを閉じる直前に。 上記のコードはここに生成されています: generator

奇妙なことは、自分のhtml文書で動作することです。例として:

<html> 
<head> 
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/> 
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/> 
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'></script> 
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'></script> 
<script language="javascript" type="text/javascript"> 
    SyntaxHighlighter.config.bloggerMode = true; 
    SyntaxHighlighter.all(); 
</script> 
</head> 
<body> 
<pre class='brush:java;'>import gt.memorize; 
public class Test 
{ 
    private static final String test = "test"; 
}</pre> 
</body> 

</html> 

しかし、同じプレタグはブロガーでは機能しません。皮膚のタグ:

は、私はまた、Bの終わりに、本体と貼り付けスタイルの終わりに

<script language="javascript" type="text/javascript"> 
    SyntaxHighlighter.config.bloggerMode = true; 
    SyntaxHighlighter.all(); 
</script> 

を貼り付けて試してみました。どちらも動作しません。 そして、私はComposeパートにコードを貼り付けません:) 私は非常に混乱しているので、どんな助けも非常に高く評価されます。

+0

あなたのブログの投稿には、あらかじめタグが付いたコードだけを入れてみてください(テスト目的)。また、SyntaxHighlighterはプレビューとダイナミックビュー(必要な調整)で動作しません。 –

答えて

9

私は同じ問題がありました。 SyntaxHighlighterを設定する手順は十分に簡単に思えました。そして、すべてのチュートリアルは、「私のブログではうまくいけば、それはあなたのためにうまくいかない場合は、何か間違ったことをしなければならない」というコメントを含む多かれ少なかれ類似していました。何も私のために働いた、私は強調表示がありません。

解決策は、別のBloggerテンプレートに切り替えることでした。私が選んだダイナミックテンプレートではうまく機能しませんでした。シンプルなテンプレートに切り替えるのはやりました。強調表示が機能するようになりました。

ところで、私はエラーを追いかけながら、Prettifyを試してみました。それもうまくいかなかった。ダイナミックテンプレートのように、両方の構文ハイライターが失敗する原因となっていたようです。

+0

それについては考えていない。私は動的なテンプレートだけを試しました。ありがとうございました。 –

18

ダイナミックビューの場合、構文強調表示プロセスを起動するスクリプトの後に投稿の内容が読み込まれているようです。

<pre class="brush: js" title="test" id="sh3-123"> 
var f = function() { 
    return 1; 
}; 
</pre> 

<script type="text/javascript"> 
// code snippet is loaded here, use SH3 API to highlight it 
var element = document.getElementById('sh3-123'); 
SyntaxHighlighter.highlight(undefined, element); 
</script> 
+0

+1問題を修正しました。私は動的テンプレート – walter

+0

+1を使用しています。 –

+0

テンプレートの短い遅延の後にセットアップコードを実行できます - http://stackoverflow.com/questions/6849890/syntax-highlighter-3-0-not-working-on-blogspot/15328620#15328620への私の答えを見てください – grkvlt

2

Stefanの回答と同様に、私はSimpleテンプレートを使用している自分のブロガーアカウントで動作させることができました。

私はこのようにそれをやった:<head>

2にCSSやJSファイルをインポートするため

タグ<link><script> 1.Put。そして、初期化または<body>に蛍光ペンを呼び出すJSスクリプト置く:

<script language="javascript">  
      SyntaxHighlighter.config.bloggerMode = true; 
      SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf'; 
      SyntaxHighlighter.all(); 
</script> 

これをステファンで述べたように、私はここで#2、それを動作させることができた唯一の方法は、したがって、おそらく問題をブートストラップに起因する必要がありますそれを体に入れる。ここではmy blog post which uses this and successfully displays the Javascript

1

私は文法の強調表示の失敗を引き起こす別の問題を偶然見つけましたが、ここで解決策を言及することが役立つかもしれないと考えました。

ブロガープレビューでは、デフォルトではhttps://で投稿が開き、すべてのページリンクをhttpsに強制しています。 alexgorbatchevのホスティングのスタイルシートを使用してロードできない場合は、強調表示は機能しません。これらのエラーはデベロッパーツールコンソールに表示されます。

現時点では、カスタムドームとのhttpsサポートがないため、問題はブロガードーム下のブログでしか表示されません。また、httpsによる一般公開はデフォルトでは無効になっているため、主にプレビューのプレビューに問題があり、簡単に回避できます。ただし、httpsによるパブリックアクセスが有効な場合、強調表示は機能しません。

関連する問題