在jquery mobile中加载文档之前加载脚本

时间:2012-10-01 04:16:01

标签: jquery facebook jquery-mobile oauth

我正在努力解决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>

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

2 个答案:

答案 0 :(得分: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 event >要删除#_=_的页面。即。

<script type="text/javascript">
    $(document).on('mobileinit',function() {
      if (window.location.hash == "#_=_")
        window.location.hash = "";
    });
</script>

答案 1 :(得分:0)

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