如何在 iBooks 中调试脚本化的 ePub3



我有一本涉及脚本的ePub3书,它与Readium配合使用,但仅限于iBooks的一部分。我的猜测是JavaScript在某个时候出错了(尽管作为一个标准的Web应用程序,完全相同的代码在Safari中工作正常)。关于如何调试它的任何想法?

您可以在 iBooks 中启用 Webkit 网页检查器,并在终端应用程序中使用以下行来更改其设置:

defaults write com.apple.iBooksX WebKitDeveloperExtras -bool YES

重新启动 iBooks 后,您会在上下文菜单中找到检查器("显示检查器">"更多")。所有检查器工具都可用,包括控制台等。

Azardi Online 可用于使用浏览器读取文件。可以从那里使用内置或外接程序控制台进行调试。或者可以创建控制台填充程序:

if(!console) {
  console = {
    "_log" : [],
    "log" : function() {
      var arr = [];
      for ( var i = 0; i < arguments.length; i++ ) {
        arr.push( arguments[ i ] );
      }
      this._log.push( arr.join( ", ") );
    },
    "trace" : function() {
      var stack;
      try {
        throw new Error();
      } catch( ex ) {
        stack = ex.stack;
      }
      console.log( "console.trace()n" + stack.split( "n" ).slice( 2 ).join( "  n" ) );
    },
    "dir" : function( obj ) {
      console.log( "Content of " + obj );
      for ( var key in obj ) {
        var value = typeof obj[ key ] === "function" ? "function" : obj[ key ];
        console.log( " -"" + key + "" -> "" + value + """ );
      }
    },
    "show" : function() {
      alert( this._log.join( "n" ) );
      this._log = [];
    }
  };
  window.onerror = function( msg, url, line ) {
    console.log("ERROR: "" + msg + "" at "" + "", line " + line);
  }
  window.addEventListener( "touchstart", function( e ) {
    if( e.touches.length === 3 ) {
      console.show();
    }
  } );
}

引用

  • 阿扎尔迪在线

  • 事件处理程序属性

  • 在 Android 和 iOS 上调试 JavaScript

相关内容

  • 没有找到相关文章

最新更新