找回密码
 立即注册

QQ登录

只需一步,快速开始

小白A

注册会员

6

主题

14

帖子

44

积分

注册会员

积分
44
最新发帖
小白A
注册会员   /  发表于:2023-3-17 10:19  /   查看:1639  /  回复:9

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

9 个回复

倒序浏览
Felix.LiWyn认证
超级版主   /  发表于:2023-9-14 18:40:27
来自 10#
以远程查看,是java内嵌的浏览器的问题。无法正常加载一些属性。这个确实没办法,要保证模拟的浏览器能正常展示H5语法
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-3-17 10:46:40
沙发
您好,您可以具体说一下您的场景吗,不太理解您帖子的标题意思
您意思是浏览器初始化ARJS的时候出现问题吗。可否给我们一个大概的Demo或者您的相关集成的代码,我们好排查问题。
回复 使用道具 举报
小白A
注册会员   /  发表于:2023-3-17 10:58:04
板凳
Java代码

  1. import javafx.application.Application;
  2. import javafx.beans.value.ChangeListener;
  3. import javafx.beans.value.ObservableValue;
  4. import javafx.concurrent.Worker;
  5. import javafx.concurrent.Worker.State;
  6. import javafx.scene.Group;
  7. import javafx.scene.Scene;
  8. import javafx.scene.control.ScrollPane;
  9. import javafx.scene.web.WebEngine;
  10. import javafx.scene.web.WebView;
  11. import javafx.stage.Stage;

  12. //www.qingmiaokeji.cn
  13. public class FXBower extends Application {
  14.     @Override
  15.     public void start(final Stage stage) {
  16.         stage.setWidth(1000);
  17.         stage.setHeight(800);
  18.         Scene scene = new Scene(new Group());
  19.         stage.setMaximized(true);
  20.         final WebView browser = new WebView();
  21.         final WebEngine webEngine = browser.getEngine();

  22.         ScrollPane scrollPane = new ScrollPane();
  23.         scrollPane.setContent(browser);
  24.         scrollPane.setFitToHeight(true);
  25.         scrollPane.setFitToWidth(true);

  26.         webEngine.getLoadWorker().stateProperty()
  27.                 .addListener(new ChangeListener<State>() {
  28.                     @Override
  29.                     public void changed(ObservableValue ov, State oldState, State newState) {

  30.                         if (newState == Worker.State.SUCCEEDED) {
  31.                             stage.setTitle(webEngine.getLocation());
  32.                         }

  33.                     }
  34.                 });
  35.         webEngine.load("http://127.0.0.1:9099/jd/inet/web_resources/src/index.html");

  36.         scene.setRoot(scrollPane);

  37.         stage.setScene(scene);
  38.         stage.show();
  39.     }

  40.     public static void main(String[] args) {
  41.         launch(args);
  42.     }
  43. }
复制代码


HTML


  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="utf-8" />
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6.     <title>ActiveReportsJS sample</title>
  7.     <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  8.     <script src="https://cdn.grapecity.com/activereportsjs/2.0.0/dist/ar-js-core.js"></script>
  9.     <script src="https://cdn.grapecity.com/activereportsjs/2.0.0/dist/ar-js-designer.js"></script>

  10.     <script src="https://cdn.grapecity.com/activereportsjs/3.0.0/dist/locales/designer/zh-locale.js"></script>

  11.     <script src="$DEMOROOT$/lib/purejs/license.js"></script>
  12.     <link
  13.             
  14.             rel="stylesheet"
  15.     />
  16.     <link
  17.             rel="stylesheet"
  18.             
  19.             integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z"
  20.             crossorigin="anonymous"
  21.     />
  22.     <link
  23.             rel="stylesheet"
  24.             type="text/css"
  25.             
  26.     />
  27.     <link
  28.             rel="stylesheet"
  29.             type="text/css"
  30.             
  31.     />
  32.     <style>
  33.         #designer-host {
  34.             margin: 0 auto;
  35.             width: 100%;
  36.             height: 550px;
  37.         }
  38.     </style>
  39. </head>
  40. <body>
  41. <div id="designer-host"></div>
  42. <script>
  43.     var reportTemplates = GC.ActiveReports.ReportDesigner.templates;
  44.     var resolveFunc = null;
  45.     var designer = new GC.ActiveReports.ReportDesigner.Designer(
  46.         "#designer-host",
  47.         { language: "zh" }
  48.     );
  49.     var counter = 0;
  50.     reportStorage = new Map();
  51.     function fillReportList() {
  52.         $("#listReports").empty();
  53.         let reportIds = reportStorage.keys();
  54.         let result = reportIds.next();
  55.         while (!result.done) {
  56.             const reportId = result.value;
  57.             const openReportBtn = $(
  58.                 '<button type="button" class="list-group-item list-group-item-action">' +
  59.                 reportId +
  60.                 "</button>"
  61.             );
  62.             openReportBtn.on("click", function () {
  63.                 onSelectReport(reportId);
  64.             });
  65.             $("#listReports").append(openReportBtn);
  66.             result = reportIds.next();
  67.         }
  68.     }
  69.     designer.setActionHandlers({
  70.         onCreate: function () {
  71.             const reportId = `NewReport${++this.counter}`;
  72.             return Promise.resolve({
  73.                 definition: reportTemplates.CPL,
  74.                 id: reportId,
  75.                 displayName: reportId,
  76.             });
  77.         },
  78.         onOpen: function () {
  79.             const ret = new Promise(function (resolve) {
  80.                 resolveFunc = resolve;
  81.                 fillReportList();
  82.                 $("#dlgOpen").modal("show");
  83.             });
  84.             return ret;
  85.         },
  86.         onSave: function (info) {
  87.             const reportId = info.id || `NewReport${++this.counter}`;
  88.             reportStorage.set(reportId, info.definition);
  89.             return Promise.resolve({ displayName: reportId });
  90.         },
  91.         onSaveAs: function (info) {
  92.             const reportId = `NewReport${++this.counter}`;
  93.             reportStorage.set(reportId, info.definition);
  94.             return Promise.resolve({ id: reportId, displayName: reportId });
  95.         },
  96.     });
  97.     function onSelectReport(reportId) {
  98.         if (resolveFunc) {
  99.             $("#dlgOpen").modal("hide");
  100.             resolveFunc({
  101.                 definition: reportStorage.get(reportId),
  102.                 id: reportId,
  103.                 displayName: reportId,
  104.             });
  105.             resolveFunc = null;
  106.         }
  107.     }
  108. </script>
  109. <script
  110.         src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
  111.         integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
  112.         crossorigin="anonymous"
  113. ></script>
  114. <script
  115.         src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
  116.         integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
  117.         crossorigin="anonymous"
  118. ></script>
  119. <script
  120.         src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"
  121.         integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV"
  122.         crossorigin="anonymous"
  123. ></script>

  124. <div class="modal" id="dlgOpen" tabindex="-1" aria-hidden="true">
  125.     <div class="modal-dialog">
  126.         <div class="modal-content">
  127.             <div class="modal-header">
  128.                 <h5 class="modal-title" id="exampleModalLabel">打开报表</h5>
  129.                 <button
  130.                         type="button"
  131.                         class="close"
  132.                         data-dismiss="modal"
  133.                         aria-label="Close"
  134.                 >
  135.                     <span aria-hidden="true">&times;</span>
  136.                 </button>
  137.             </div>
  138.             <div class="modal-body">
  139.                 <h2>请选择报表:</h2>
  140.                 <div class="list-group" id="listReports"></div>
  141.             </div>
  142.             <div class="modal-footer">
  143.                 <button
  144.                         type="button"
  145.                         class="btn btn-secondary"
  146.                         data-dismiss="modal"
  147.                 >
  148.                     关闭
  149.                 </button>
  150.             </div>
  151.         </div>
  152.     </div>
  153. </div>
  154. </body>
  155. </html>
复制代码
回复 使用道具 举报
小白A
注册会员   /  发表于:2023-3-17 10:59:55
地板
麻烦帮我排查一下,非常感谢
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-3-17 16:31:00
5#
小白A 发表于 2023-3-17 10:59
麻烦帮我排查一下,非常感谢

您可以先加两个CSS文件:
<link rel="stylesheet" href="https://cdn.grapecity.com/activereportsjs/2.0.0/styles/ar-js-ui.css" type="text/css" />
  <link rel="stylesheet" href="https://cdn.grapecity.com/activereportsjs/2.0.0/styles/ar-js-designer.css"
    type="text/css" />

然后我这边目前是可以通过您的HTML页面正常加载一个页面出来,但是Java端那个我暂时没办法跑,但如果只是加载页面应该还可以

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
小白A
注册会员   /  发表于:2023-3-20 09:21:24
6#
Felix.Li 发表于 2023-3-17 16:31
您可以先加两个CSS文件:

  

你们可以建立相应的环境进行测试吗,我本地是显示不处来的,js报错
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-3-20 18:31:49
7#
小白A 发表于 2023-3-20 09:21
你们可以建立相应的环境进行测试吗,我本地是显示不处来的,js报错

您好,我们先试着还原一下吧,如果还原不了,有需要的话我们追贴联系您远程看看。
回复 使用道具 举报
小白A
注册会员   /  发表于:2023-3-21 14:37:43
8#
Bella.Yuan 发表于 2023-3-20 18:31
您好,我们先试着还原一下吧,如果还原不了,有需要的话我们追贴联系您远程看看。

好的,谢谢
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-3-21 16:12:58
9#

您看方便远程一下嘛,我们向日葵远程看一下,确实不好直接复现,
您方便留一下向日葵远程码,我们一起看一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部