|
|
@@ -32,16 +32,45 @@ export default defineComponent({
|
|
|
Popup,
|
|
|
},
|
|
|
setup() {
|
|
|
+ let isInIframe = false;
|
|
|
+ try {
|
|
|
+ isInIframe = window.self !== window.top;
|
|
|
+ } catch {
|
|
|
+ // 如果由于跨域/安全限制导致访问 window.top 抛错,则保守按 iframe 渲染内容
|
|
|
+ isInIframe = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ const iframeSrc = (() => {
|
|
|
+ try {
|
|
|
+ const url = new URL(window.location.href);
|
|
|
+ // 强制内部脚本按 autoplay 分支继续加载,避免 iframe 嵌入模式卡住进度条
|
|
|
+ url.searchParams.set('play', '1');
|
|
|
+ return url.toString();
|
|
|
+ } catch {
|
|
|
+ return window.location.href;
|
|
|
+ }
|
|
|
+ })();
|
|
|
+
|
|
|
const baseStore = useBaseStore();
|
|
|
const { manageJsLoaded } = storeToRefs(baseStore);
|
|
|
const hotJsLoaded = ref(false);
|
|
|
|
|
|
return {
|
|
|
+ iframeSrc,
|
|
|
+ isInIframe,
|
|
|
manageJsLoaded,
|
|
|
hotJsLoaded,
|
|
|
};
|
|
|
},
|
|
|
render() {
|
|
|
+ if (!this.isInIframe) {
|
|
|
+ return (
|
|
|
+ <div class="home home-iframe">
|
|
|
+ <iframe src={this.iframeSrc} title="home-iframe" />
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
return (
|
|
|
<div class="home">
|
|
|
{/* 进度条加载 */}
|