使用Google Code Prettify回调

时间:2013-04-24 13:10:44

标签: javascript

我在页面上使用Google code 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>

此外,在this example之后,我尝试以几种不同的方式修改第一个块(),如下所示,但没有变化:

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

我应该如何定义testing函数以便正确调用它?

2 个答案:

答案 0 :(得分:4)

似乎callback参数仅适用于run_prettify.js脚本,而不是您当前使用的prettify.js脚本。

此外,per the docs,他们希望在callback对象中指定您在window.exports参数中指定的功能。

E.g 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>

答案 1 :(得分: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>

根据文档更改:run_prettify.js而不是prettify.js和定义的函数。