Для моего RAP-проекта мне нужно показать несколько графиков. Поскольку я не нашел никакого виджета для этой цели, я планировал использовать виджет браузера, поэтому я могу использовать плагины JavaScript, такие как Highcharts или Chartsjs. Но я не могу заставить его работать. Если я установлю HTML-файл в browser.setUrl, виджет браузера ничего не покажет, даже простой HTML. Консоль JavaScript в Chrome говорит
Не разрешено загружать локальный ресурс
Если я ввожу HTML-код с помощью метода setText
, он показывает HTML, но JavaScript не работает, он не загружает внешний JS-файл, такой как библиотека jQuery.
Нельзя ли это сделать таким образом? Или где моя неудача? (Извините за мой плохой английский, я не носитель языка.)
Вот Java-код, который я пробовал:
browser = new Browser(composite, SWT.NONE);
browser.setTouchEnabled(true);
browser.setBounds(10, 10, 358, 200);
browser.setUrl("D:\\STATS\\statistiken.html");
Или это:
File file = new File("D:\\STATS\\statistiken.html");
browser = new Browser(composite, SWT.NONE);
browser.setTouchEnabled(true);
browser.setBounds(10, 10, 358, 200);
browser.setUrl(file.toURI().toString());
Я пробовал и некоторые другие вещи, которые не работали.
С HTML в методе setText (я пробовал внешние библиотеки и локальные библиотеки в одной папке):
browser = new Browser(composite, SWT.NONE);
browser.setBounds(10, 10, 358, 200);
browser.setText(
"<html>" +
"<head>" +
"<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js\"></script>" +
"<script src=\"http://code.highcharts.com/highcharts.js\"></script>" +
"<script src=\"http://code.highcharts.com/modules/exporting.js\"></script>" +
"</head>" +
"<body>" +
"<p>Test</p>" +
"<div id=\"container\" style=\"min-width: 400px; height: 400px; margin: 0 auto\"></div>" +
"</body>" +
"</htm>");
Надеюсь, кто-то может помочь мне с этой проблемой.