A-Frame:如何在_blank页面中打开动态创建的a-link

时间:2017-08-30 09:02:16

标签: aframe

这是特定于A-Frame。

我正在使用javascript代码创建一个a-link:

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

这不起作用:

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

任何提示?

4 个答案:

答案 0 :(得分:2)

It looks like <a-link>原语没有“目标”属性。

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

答案 1 :(得分:2)

据我所知,<a-link>用于链接遍历,而不是用于打开新标签。该组件在架构中没有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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

确保已放置<a-cursor>元素以触发点击事件。