2

ページでGoogle コードの prettifyを使用しています (正常に動作しています)。このプロセスが完了すると呼び出される関数を追加したいと考えています。

ドキュメントでは、次のパラメータについて説明しています。

callback=js_ident    window.exports["js_ident"] will be called when prettyprinting finishes. If specified multiple times, all are called.

しかし、私はこれをうまく機能させることができませんでした。コールバック関数がどのように定義/エクスポートされることになっているかについて、明らかに何かが欠けています。

私のヘッダーは次のようになります (ページが読み込まれると、コードは正しく整形されますが、アラートは表示されません):

<script type='text/javascript'>function testing(){alert('hello')}}</script>
<script type='text/javascript' src='https://google-code-prettify.googlecode.com/svn/loader/prettify.js?callback=testing'></script>

また、この例に従って、最初のブロックをいくつかの異なる方法で変更しようとしましたが (以下にいくつかを示します)、変更はありません:

<script type='text/javascript'>window['exports'] = {testing: function(){alert('123')}}</script>
<script type='text/javascript'>window.exports = {testing: {apply: function(){alert('123')}}}</script>

testing関数を正しく呼び出すには、どのように関数を定義すればよいですか?

4

2 に答える 2

4

パラメータは、現在使用しているスクリプトではなく、スクリプトでcallbackのみ使用できるようです。run_prettify.jsprettify.js

さらに、docs ごとcallbackに、パラメーターで指定した関数をwindow.exportsオブジェクトで指定する必要があります。

http://jsbin.com/atukuq/1/

<script type='text/javascript'>
  window.exports = { 
    testing: function () {
      alert('hello');
    }
  }
</script>
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?callback=testing"></script>
于 2013-04-24T13:19:00.173 に答える
2
<script type='text/javascript'>
   window.exports = [];
   window.exports["testing"] = function() {
      alert("hello");
   }
</script>
<script type='text/javascript' src='https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?callback=testing'></script>

変更点: prettify.js の代わりに run_prettify.js を追加し、ドキュメントに従って関数を定義しました。

于 2013-04-24T13:24:01.647 に答える