0

任何人帮助我。我在以下几行中描述了这个问题。

我想用 one.html 调用 second.html。

在 second.html 中,我使用 script 标签包含了 second.js。

当我直接在浏览器(safari,chorme,firefox)中调用 second.html 时,它可以正常工作

但是,如果我在 one.html 中调用 second.html,则 second.js(无法由 second.html 调用)不起作用。

请帮我。我附上了代码。 一个.html

<!DOCTYPE html> 
<html> 
  <head> 
    <title>Page Title</title> 
    <link rel="stylesheet" href="jquery.mobile-1.0a2.min.css" />
    <script src="jquery-1.4.4.min.js"></script>
    <script src="jquery.mobile-1.0a2.min.js"></script> 
    <script src="Scripts/one.js"></script>
  </head> 
  <body> 

    <div data-role="page">
      <a href="Views/second.html" data-role="button" class="ui-btn-right">One</a>
    </div>

  </body>
</html>

第二个.html

<!DOCTYPE html> 
<html> 
  <head> 
    <title>Sample </title> 
    <link rel="stylesheet" href="../jquery.mobile-1.0a2.min.css" />
    <script src="../jquery-1.4.4.min.js"></script>
    <script src="../jquery.mobile-1.0a2.min.js"></script>
    <script type="text/javascript" src="../Scripts/second.js"></script>
  </head> 
  <body>
    <div data-role="page">   
      <div data-role="button" id="link" >Second</div>
    </div><!-- /page -->
  </body>
</html>

one.js

$(document).ready(function()
{     
    alert('one.js');                    
});

第二个.js

$(document).ready(function()
{     
    alert('second.js');                    
});

谢谢

4

2 回答 2

1

链接只是对另一个页面的引用;在您单击它之前,浏览器实际上并没有加载它(就第一页上的脚本而言,无论如何)。

如果要访问另一个页面上的脚本,必须满足两个条件:

  1. 这两个页面必须来自同一个域(出于安全原因)。

  2. 这两个页面必须在同一个窗口中加载(例如使用iframe)。

请发布一个新问题,询问您想要实现的目标,也许有不同的解决方案。

于 2010-12-10T15:53:29.253 回答
1

根据我的阅读,当显示新内容时,jQuery 移动 Ajax 页面不会触发 ready 事件。您很可能需要为所有 'data-role="page"' 元素绑定到 pagecreate 事件,并检查 second.html 上的元素的 id 是否存在。

本文档页面的评论部分对此有一些潜在的修复:http: //forum.jquery.com/topic/mobile-events-documentation

于 2010-12-10T05:27:35.650 回答