我正在尝试使用以下代码将 mozilla 查看器集成到 JavaFx WebView 中:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class TestStrict extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
WebView webView = new WebView();
String url = TestStrict.class.getClassLoader().getResource("pdfjs-1.1.366-dist/web/viewer.html").toExternalForm();
webView.getEngine().load(url);
Scene scene = new Scene(webView);
primaryStage.setScene(scene);
primaryStage.setWidth(800);
primaryStage.setHeight(600);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
pdfjs-1.1.366-dist 文件夹是从pdfjs GitHub下载的
我还更改了viewer.html
只是在里面添加 firebug-lite:
<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
现在,当我运行应用程序时,我得到了查看器框架,但没有加载默认的 pdf,并且在 firebug 控制台中出现以下错误:
“TypeError:未定义不是对象(评估'globalScope.PDFJS')(pdf.worker.js,103)”
我删除了 javascript 文件中的所有“使用严格”指令,一切正常。
我不知道这是 JavaFX 还是内部 WebKit 中的错误,但它发生在 1.8.0_60 版本中。
那么有什么方法可以禁用严格模式,因为将在我无法控制脚本并删除“使用严格”指令的地方加载其他网页?