gpt4 book ai didi

javascript - JQuery 手机 : Run javascript method on new page

转载 作者:行者123 更新时间:2023-11-28 04:14:42 25 4
gpt4 key购买 nike

我有一款应用可以让用户赢得奖品。要赢得奖品,他们需要访问这样的页面:www.myUrl.com#isAWinner 其中 #isAWinner 是我的移动页面。我担心有人会想到只是输入那个 url 并直接进入获胜者页面而没有真正获胜。为了解决这个问题,我尝试这样做:

<!-- Show this if the user is a winner -->
<div id = "isAWinner" data-role = "page">
<p>YOU WIN!!!</p>
<!-- Invisible link -->
<a href = "#beforeLogin" id = "goBack" class = "InvisibleLinks"></a>
<!-- Ensures that the user does not just enter #isAWinner to the end of the URL -->
<script type="text/javascript"> reallyAWinner()</script>
</div>

function reallyAWinner () {
alert(isAWinner);
//Check to see if they really are a winner
if (isAWinner == false) {
//Not really a winner. Send back to login
$('#goBack').click();
}
}

问题是 alert 在页面最初加载时被触发,但如果我尝试转到该 URL afterwords,则该方法不会再次被触发。

我是不是不了解 JQuery Mobile 的工作原理?它只会在整个 HTML 页面加载时触发 reallyAWinner() 方法,而不是在 isAWinner 页面加载时触发吗?如果是这样,是否有另一种方法可以仅在 isAWinner 页面加载时检查用户是否真的是赢家?

编辑:这里有更多信息。当我最初进入方法而不加载第一页时,reallyAWinner() 中的警报将在我的 document.ready 方法中的警报之前触发,使 $('#goBack').click(); 不起作用(因为移动设备未加载)

最佳答案

如果您启用了 ajax 方法调用,则在调用初始页面时将调用 reallyAWinner() 函数。

只有在加载#isAWinner 页面时才能调用函数 reallyAWinner(),您可以在页面 ID 上注册一个“pageshow”事件。

因此您可以执行以下操作:

$('#isAWinner').live('pageshow', function () { reallyAWinner();  });

来自 jQueryMobile 文档:

pageshow: Triggered on the page being shown, after its transition completes.

关于javascript - JQuery 手机 : Run javascript method on new page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com