修复 Telegram 绑定按钮开空白页:去掉 about:blank 跳转
This commit is contained in:
@@ -330,19 +330,20 @@ export function useBilling(params: UseBillingParams) {
|
|||||||
setPaymentError("");
|
setPaymentError("");
|
||||||
setTelegramBindUrl("");
|
setTelegramBindUrl("");
|
||||||
setTelegramBindCommand("");
|
setTelegramBindCommand("");
|
||||||
const popup = window.open("about:blank", "_blank", "noopener,noreferrer");
|
|
||||||
try {
|
try {
|
||||||
const { botUrl } = await requestTelegramBotBindPayload();
|
const { botUrl, botCommand } = await requestTelegramBotBindPayload();
|
||||||
if (!botUrl) throw new Error(copy.telegramBindLinkMissing);
|
if (!botUrl) throw new Error(copy.telegramBindLinkMissing);
|
||||||
if (popup && !popup.closed) {
|
// Open directly — skip about:blank to avoid browser popup blockers
|
||||||
popup.location.href = botUrl;
|
const win = window.open(botUrl, "_blank", "noopener,noreferrer");
|
||||||
|
if (win) {
|
||||||
setPaymentInfo(copy.telegramBindClickHint);
|
setPaymentInfo(copy.telegramBindClickHint);
|
||||||
} else {
|
} else {
|
||||||
|
// Popup blocked — show fallback link
|
||||||
setPaymentInfo(copy.telegramPopupBlocked);
|
setPaymentInfo(copy.telegramPopupBlocked);
|
||||||
setTelegramBindUrl(botUrl);
|
setTelegramBindUrl(botUrl);
|
||||||
|
setTelegramBindCommand(botCommand);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (popup && !popup.closed) popup.close();
|
|
||||||
setPaymentError(normalizePaymentError(error).message);
|
setPaymentError(normalizePaymentError(error).message);
|
||||||
} finally {
|
} finally {
|
||||||
setTelegramBindOpening(false);
|
setTelegramBindOpening(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user