【问题标题】:A-Frame : How to open a dynamically created a-link in a _blank pageA-Frame:如何在 _blank 页面中打开动态创建的 a-link
【发布时间】:2020-05-31 06:55:38
【问题描述】:

这是特定于 A-Frame 的。

我正在从 javascript 代码创建一个链接:

var alinkEl = document.createElement('a-link');
alinkEl.setAttribute('href', 'http://www.facebook.com/share.php?u=https://.../' + folder + fileName);

这不起作用:

alinkEl.setAttribute('target', '_blank');

有什么提示吗?

【问题讨论】:

  • “不起作用”到底是什么意思?
  • 目标属性被忽略

标签: aframe


【解决方案1】:

据我所知,<a-link>s 用于链接遍历,而不是用于打开新标签。该组件在架构中没有target 属性。此外,navigation 是这样实现的:

navigate: function () {
  window.location = this.data.href;
}

所以您只需更改给定窗口的位置。


要打开一个新标签,我会自己做门户网站和链接:
如果您想要一个门户使用portal 着色器,并设置pano 属性:
<a-circle position="0 3.5 -2"
material="shader:portal;pano:_URL_TO_PORTAL_IMAGE"
></a-circle>

如果您希望它打开一个新标签,请制作您自己的组件:

AFRAME.registerComponent('foo', {
  init: function() {
    this.el.addEventListener('click', (e) => {
      window.open('https://ebay.com');
    })
  }
})

并将其附加到您的门户:

<a-circle position="0 3.5 -2" material="shader:portal;pano:_URL_TO_PANO" 
foo></a-circle>

工作小提琴here.

【讨论】:

  • 顺便提一下,它是关于使用facebook.com/sharer.php,它应该在一个新标签中分享,然后它应该关闭标签并回到a-frame场景
  • @BruceLANE jsfiddle.net/ttug46d8/3 共享器似乎正在工作,共享后它没有自行关闭?
  • @BruceLANE 很高兴我能帮上忙 :) 如果您没有任何其他问题,请随时标记我的回答者 :)
【解决方案2】:

It looks like &lt;a-link&gt; 原语没有“目标”属性。

但是有一个支持它的 npm 包。它被称为 aframe-href-component,可以在这里找到:https://www.npmjs.com/package/aframe-href-component

【讨论】:

    【解决方案3】:

    a-link 不支持根据https://aframe.io/docs/0.6.0/components/link.htmltarget 属性

    【讨论】:

      【解决方案4】:

      确保您已放置一个&lt;a-cursor&gt; 元素来触发点击事件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        • 2021-03-17
        • 1970-01-01
        相关资源
        最近更新 更多