DOMException:拒绝访问属性的权限" apply"在跨源对象上

时间:2018-05-14 00:46:56

标签: javascript vue.js

过去一天,我一直致力于FreeCodeCamp的分配"引用机器"。除了推文按钮外,其他所有功能都正常。您可以在一个单引号上使用您想要的任何数量的推文,但不能在多个上使用(意思是在您发布推文之后,您不能转到下一个引用和推文)。

尝试打开新窗口时出现的错误是

  

DOMException:拒绝访问属性的权限" apply"关于跨源对象

我一直在谷歌搜索该错误一段时间,但我找不到可以应用的修复

Here's the project(它非常小)

剪断

// snip
methods:{
  twitter() {
    this.twitter = window.open('https://twitter.com/intent/tweet/?text='+this.quote+'&hashtags=quotes');
  },
  refreshQuote() {
    // etc
<a @click="refreshQuote">
///
</a>
<v-btn fab depressed outline large class="center" @click="twitter">

我呼吁tweet()的原因是因为我无法window.open @click工作,收到错误

  

事件处理程序错误&#34;点击&#34;:&#34; TypeError:窗口未定义&#34;

感谢。

1 个答案:

答案 0 :(得分:1)

您要将window句柄(window.open()的返回值)分配给this.twitter,直到那时为twitter方法。

我认为没有理由保留对已打开窗口的引用,因此只需将代码更改为

即可
twitter() {
  window.open(`https://twitter.com/intent/tweet/?text=${encodeURIComponent(this.quote)}&hashtags=quotes`)
}

同样如上所述,您的HTML格式错误,有几个结束标记乱序。你应该解决这个问题。

https://codepen.io/anon/pen/RyJBXa