問題タブ [google-code-prettify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - Google Prettify がコードをカット - 修正が必要
現在、ブラウザがそれをタグとして扱うため、 for ループの < で切り取られているコードがあります。これを修正する人はいますか?:
レンダリングされたページのソースでは、次のようになるまですべてが正しく表示されます。
ありがとう!
javascript - HTMLエスケープシーケンスのGoogleprettify処理を修正する方法
google-code-prettifyは、エスケープされたシーケンスではなく、エスケープ文字自体を「プリティフィケーション」することにより、コードブロック内のHTMLエスケープを処理します。例:
元のHTML<code class="prettyprint lang-sql"> ... > ... </code>
は次のようになります。
明らかに間違ったレンダリングで。<code>
信頼できるソースからのものではなく、XSSベクトルとして使用できるため、エスケープされていないHTMLを内部に返すことはできません。
私の質問は、google-pretty-printに正しいことを強制し、コンテンツを<code>
生のテキストではなくHTML(エスケープ)と見なす方法があるかどうかです。
javascript - ページの読み込み時に prettyPrint() が呼び出されない
Blogger でコードをきれいにしようとしています。Google JS および CSS ファイルをテンプレートにリンクしました。問題は、ページの読み込み時にコードをきれいにしたいのでprettyPrint();
、テンプレートのページ読み込みイベントに追加することです。
<body onload="prettyPrint();">
このコードは実行されません。ただし、コンソールで prettyPrint() を手動で入力すると、コードが正しく整形されます。ブロガー テンプレートは JS 関数の手動呼び出しをブロックしますか?
編集コードの整形が必要なすべての投稿で関数を手動で呼び出すことで機能させます(以下を参照)。それでも、なぜテンプレートでそれができないのか知りたいです。
EDIT 2 READMEprettyPrint()
には、ハンドラーとして直接使用するのではなく、代わりにクロージャーでラップする必要があると書かれています。そのため、README の例と同様に、このコードを追加しました<head>
が、役に立ちませんでした。
また
編集 3私のテンプレート HTML は、上記で説明したように、prettify ライブラリが追加されたデフォルトの Dynamics View (クラシック) テンプレートです。
EDIT 4問題を示すリンクは次のとおりです: http://testprettyprint.blogspot.com/2013/02/blog-post.html -- コード ブロックは自動的に整形されませんが、Chrome のコンソールを開いて prettyPrint() と入力するとコードが正しく強調表示されます。
EDIT 5ブロガーの問題ではなく私の問題だと思う理由は、この男がまだ同じ手法を使用してコードを整形しているためです。
編集 6 Jeffery To が彼の回答で指摘したように、Dynamics View は AJAX を使用してブログ コンテンツを読み込むため、ドキュメントの読み込みに関する JS 呼び出しは、実際のコンテンツが読み込まれる前に実行されます。したがって、ドキュメントではなく、実際のブログ コンテンツに対して実行される JavaScript はすべて無効です。したがって、Dynamics View イベントにフックする方法が問題になると思いますがajax:complete
、そのようなものがあるとは思えません。返信してくれたみんなありがとう。これがバグとして数えられるかどうかはわかりませんが、blogger に問題を報告します。
結論Jeffery To の回答を読んでください。彼は、関数を呼び出すイベントを見つけました。
javascript - Prettifyがロードされているかどうかを確認する方法
スクリプトが<pre class="prettyprint">
存在する場合にのみロードします。Prettifyを開始するには、を使用する必要があることがわかりましたprettyPrint();
。
ただし、スクリプトをロードしないページでは、Javascriptエラーが発生します。Prettifyがロードされているかどうかをテストしてから実行する方法はありますか?それ以外は何もしませんか?
google-code-prettify - google-code-prettify xml インデント
生成された xml ドキュメントに改行を追加しました。
これは次のようになります。
これは google-code-prettify で可能ですか?それとも、xml を生成するコードで自分で行う必要がありますか?
前もって感謝します
javascript - ckeditor で html タグを表示する
以下のコンテンツをデフォルトとして ckeditor を開いています。
ただし、出力の HTML タグ コードが欠落しています。出力は以下 (下線) です。
prettify を使用して、Web ページのコンピューター プログラミング コードを自動フォーマットできます。
使い方?
以下の行を追加するだけです。
次に、コード行を下のタブに配置します。
...
また、
完全なコード ファイルをhttps://code.google.com/p/google-code-prettify/からサーバーにダウンロードし (prettify の詳細も参照できます)、上記のスクリプト タグ行を次のように変更します。
期待される出力:
助けてください。
css - コードの google-code-prettify 境界線を削除
使用中にコードの境界線を削除したいgoogle-code-prettify
。以下を試しましたが、結果が得られませんでした。
pre
また、すべてのタグの境界線を削除しようとしましたが、同じ結果はありません。