0

我正在尝试解决 Facebook OAuth 和 jQuery Mobile 的问题,如http://jquerymobile.com/test/docs/pages/page-navmodel.html底部所述。

在注册页面上,我有一个“使用 Facebook 登录”按钮。当我单击按钮时,我收到“页面加载错误”。

添加到注册页面:

<div data-role="page" id="register">
  <script>
    $("#register").live('pageinit',function() {
      if (window.location.hash == "#_=_")
        window.location.hash = "";
    });
  </script>
</div>

但这没有帮助 - 仍然是同样的问题。有什么想法我在这里做错了吗?

4

2 回答 2

0

如果需要运行它,您需要在加载任何 jQueryMobile之前加载它,至少根据文档。从代码片段中,我认为这是在您导入 jQM 源之后加载的。

<head>应该看起来像这样

<head>
    ...
     <script type="text/javascript">
        $("#register").live('pageinit',function() {
          if (window.location.hash == "#_=_")
            window.location.hash = "";
        });
    </script>
    <script type="text/javascript" src="jquery-mobile.js"></script>
    ....
</head>

编辑:但是,如果您使用 AJAX 加载下一页并且<head>未重新加载中的部分,则可以绑定到要删除的页面之前的页面上的mobileinit事件。IE#_=_

<script type="text/javascript">
    $(document).on('mobileinit',function() {
      if (window.location.hash == "#_=_")
        window.location.hash = "";
    });
</script>
于 2012-10-01T08:35:08.503 回答
0

对不起,但这是一个红鲱鱼。该脚本实际上正在运行。“页面加载错误”问题是由于 JQM 期望 ajax 页面加载,而实际上并非如此。添加data-ajax="false"到链接解决了这个问题。这在http://jquerymobile.com/test/docs/pages/page-links.html中有解释。

于 2012-10-03T06:00:54.063 回答