我在Vue组件中绑定了HTML对象元素的data属性,并且我有一个全屏按钮以全屏模式显示我的对象。
在chrome或其他浏览器中没有问题,但是当我尝试在Samsung互联网浏览器上以全屏模式显示对象时,我的对象重新连接并且必须刷新页面。
我看过“ gameLink”,并且在“ toggleFullScreen”上从未更改过,它在初始化时在创建的钩子上仅更改过一次。
如何防止它重新连接?
这里是代码:
<b-nav-form>
<b-button id="fullscreen-btn" @click="toggleFullScreen">
<font-awesome-icon icon="expand" />
</b-button>
<b-tooltip target="fullscreen-btn" placement="bottom" variant="warning">Full screen</b-tooltip>
</b-nav-form>
。。。。
<div class="game-screen-size">
<div id="target" style="width:100%; height:100%;">
<div v-if="fullscreen" style="position:fixed; top:15px; left:50%; z-index:1500">
<b-button id="compress-btn" @click="toggleFullScreen">
<font-awesome-icon icon="compress" />
</b-button>
<b-tooltip target="compress-btn" placement="bottom" variant="warning">Normall view</b-tooltip>
</div>
<object type="text/html" class="game-screen" :data="gameLink"></object>
</div>
</div>
。。。。
computed: {
...mapState("playGame", ["status", "gameLink", "userGameInfo", "activeTables", "emptyTables"]),
},
methods: {
...mapActions("playGame", ["play", "userInfo", "tablesData"]),
toggleFullScreen () {
// toggle full screen using screenfull
const element = document.getElementById('target');
screenfull.toggle(element);
this.fullscreen = !this.fullscreen;
},
}
created() {
//gets the link and sets the gameLink on vuex store
this.play();
}
....
问题视频:
我用iframe代替了对象,问题解决了!