Update index.html
Browse files- index.html +20 -10
index.html
CHANGED
@@ -124,29 +124,39 @@
|
|
124 |
iframe.style.height = '100%';
|
125 |
iframe.style.border = 'none';
|
126 |
|
127 |
-
//
|
128 |
let trueOrigin = window.location.origin;
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
}
|
134 |
-
}
|
135 |
-
//
|
136 |
-
|
137 |
}
|
138 |
|
139 |
// 将来源信息作为URL参数传递给Gradio服务
|
140 |
const url = new URL(iframeSources[type]);
|
141 |
url.searchParams.set('referer_origin', trueOrigin);
|
|
|
142 |
url.searchParams.set('embed_timestamp', Date.now().toString());
|
143 |
|
144 |
// 在控制台打印调试信息
|
145 |
console.log('Embedding Gradio service:', {
|
146 |
type: type,
|
147 |
referer_origin: trueOrigin,
|
148 |
-
|
149 |
-
|
|
|
|
|
150 |
});
|
151 |
|
152 |
iframe.src = url.toString();
|
|
|
124 |
iframe.style.height = '100%';
|
125 |
iframe.style.border = 'none';
|
126 |
|
127 |
+
// 获取真正的外部来源域名
|
128 |
let trueOrigin = window.location.origin;
|
129 |
+
let referrer = document.referrer || '';
|
130 |
+
|
131 |
+
// 如果页面是通过iframe嵌入的,尝试获取顶级窗口的来源
|
132 |
+
// 由于跨域限制,我们无法直接访问顶级窗口的location
|
133 |
+
// 但可以通过document.referrer获取来源页面
|
134 |
+
if (window.parent !== window && referrer) {
|
135 |
+
try {
|
136 |
+
const referrerUrl = new URL(referrer);
|
137 |
+
trueOrigin = referrerUrl.origin;
|
138 |
+
} catch (e) {
|
139 |
+
console.log('Cannot parse referrer URL:', referrer);
|
140 |
}
|
141 |
+
} else if (window.parent !== window) {
|
142 |
+
// 如果referrer为空但确实被嵌入,尝试使用当前页面origin
|
143 |
+
trueOrigin = window.location.origin;
|
144 |
}
|
145 |
|
146 |
// 将来源信息作为URL参数传递给Gradio服务
|
147 |
const url = new URL(iframeSources[type]);
|
148 |
url.searchParams.set('referer_origin', trueOrigin);
|
149 |
+
url.searchParams.set('referrer_url', referrer);
|
150 |
url.searchParams.set('embed_timestamp', Date.now().toString());
|
151 |
|
152 |
// 在控制台打印调试信息
|
153 |
console.log('Embedding Gradio service:', {
|
154 |
type: type,
|
155 |
referer_origin: trueOrigin,
|
156 |
+
referrer_url: referrer,
|
157 |
+
current_origin: window.location.origin,
|
158 |
+
is_embedded: window.parent !== window,
|
159 |
+
full_url: url.toString()
|
160 |
});
|
161 |
|
162 |
iframe.src = url.toString();
|