【问题标题】:Orbeon JavaScript Embedding: a.querySelector is not a functionOrbeon JavaScript 嵌入:a.querySelector 不是函数
【发布时间】:2021-08-25 06:38:52
【问题描述】:

我正在尝试使用 orbeon Javascript 嵌入 API,但由于某种原因,我无法使其正常工作。我可能会遗漏一些东西。我a,将表单嵌入到页面中,这是我尝试如何做的一个sn-p。

ORBEON.fr.API.embedForm(
        'div#orbeon-container',
        '/orbeon',
        'App1',
        'Form1',
        'new'
    );

然而,我收到此错误Uncaught TypeError: a.querySelector is not a function。 我认为这可能是因为我如何指定容器,但我不确定它应该如何指定为 documentation on embedding 似乎没有给出这个例子。

【问题讨论】:

    标签: javascript orbeon


    【解决方案1】:

    您链接的文档指出第一个参数的类型为 HTMLElement(这与您可能用来解决它的 CSS 选择器不太一样)。

    Parameter Optional Type Example Description
    container No HTML element DOM element you want the form to be placed in

    换句话说,而不是

    ORBEON.fr.API.embedForm(
        'div#orbeon-container',
        '/orbeon',
        'App1',
        'Form1',
        'new'
    );
    

    应该是

    let orbeonContainer = document.querySelector('#orbeon-container');
    
    ORBEON.fr.API.embedForm(
        orbeonContainer,
        '/orbeon',
        'App1',
        'Form1',
        'new'
    );
    

    【讨论】:

    • 我试过的时候还是不行(这是我尝试的第一件事),让我再试一次,也许这次会成功。谢谢
    • 如果这不起作用,那么至少错误消息必须已更改,因为orbeonContainer 肯定会有一个querySelector 方法,只要元素实际存在。现在,是吗?
    • 抱歉,我一直在关注应用程序的其他部分,没有时间尝试。我已经尝试过了,但仍然是同样的问题。它不能解决问题。抄送:@ebruchez
    • 哦,等等,我认为这可能真的有效,我现在看到一个不同的问题,与上下文有关。我正在尝试从不同的服务器/API 加载,使用 /orbeon 解析为与 Web 应用程序相同的 URL,但我想从不同的端点加载。
    • @ReioSantos JavaScript 嵌入最终对你有用吗?如果您对 JavaScript 嵌入 API 仍有任何未解决的问题,请随时在此处发表评论。 -亚历克斯
    【解决方案2】:

    可能的问题是第一个参数必须是 DOM 元素,而不是字符串。尝试改为传递元素。

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 2014-12-26
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 2021-11-29
      • 2022-01-17
      相关资源
      最近更新 更多