Внутренние и внешние страницы JQuery Mobile - PullRequest
1 голос
/ 12 ноября 2011

У меня проблема с JQM, когда рабочий код внешней страницы внутри внутренней страницы не загружается.

Вот код для внешней страницы (сам по себе работает нормально):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="en" />

<link href="jquery.zrssfeed.css" rel="stylesheet" type="text/css" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js" type="text/javascript"></script>
<script src="jquery.zrssfeed.min.js" type="text/javascript"></script>

<title>zRSSFeed - Basic RSS Feed Example</title>
</head>

<body>

<h1>zRSSFeed - Basic RSS Feed Example</h1>
<p>Simple as it gets, this example uses the same code as in the documentation.</p>

<script type="text/javascript">
$(document).ready(function () {
    $('#test').rssfeed('http://feeds.reuters.com/reuters/oddlyEnoughNews', {
        limit: 5
    });
});
</script>

<div id="test"></div>

</body>
</html>

Теперь ... проблема в том, что я помещаю этот код на внутреннюю страницу:

....<script src="jquery.zrssfeed.min.js" type="text/javascript"></script> //include in head...


<div data-role="page">

    <div data-role="header">
        <h1>Page Title</h1>
    </div><!-- /header -->

    <div data-role="content">   


    <p>Page content goes here.</p>



             <script type="text/javascript">
        $(document).ready(function () {
            $('#test').rssfeed('http://feeds.reuters.com/reuters/oddlyEnoughNews', {
                limit: 5
            });
        });
        </script>

<div id="test"></div>           

    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /footer -->
</div><!-- /page -->

Есть ли какие-то дополнительные требования, чтобы заставить это работать?

По какой-то причине фид вообще не отображается на внутренней странице.

Ответы [ 2 ]

1 голос
/ 12 ноября 2011

Решение

Когда вы используете AJAX для загрузки страниц, кажется, что загружаются только ссылочные страницы (<div data-role="page"> ... </div>), а не весь сайт, поэтому сценарий не оправдывается. 1006 *

Вам нужно включить свой скрипт для загрузки в page-div , а не в заголовок, чтобы получить conde при загрузке страницы.

Ваша стартовая / целевая страница

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Page Title</title> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.css" />
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.js"></script>
</head> 

<body> 
    <!-- Loaded via AJAX because data-ajax="false" or rel="external" is not set -->
    <a href="page2.htm" data-role="button">To page 2</a>
</body>
</html>

Страница для загрузки

<html>
    <!-- ... more html -->
    <script src="jquery.zrssfeed.min.js" type="text/javascript"></script>
    <!-- ... more html -->

    <div data-role="page" id="rss_page">
        <!-- your stuff -->
    </div>
</html>

Что загружается (через AJAX)

    <div data-role="page" id="rss_page">
        <!-- your stuff -->
    </div>
0 голосов
/ 12 ноября 2011

Пожалуйста, попробуйте отладить с Firebug .Это расширение Firefox.

  1. Установите Firebug с http://getfirebug.com/
  2. Откройте внутреннюю страницу и нажмите значок FireBug на панели инструментов просмотра.Вы увидите панель внизу.
  3. Нажмите вкладку Net и обновите страницу, чтобы убедиться, что все необходимые файлы загружены.Вы увидите отсутствующие файлы в красном цвете.Исправьте их.
  4. Консоль вкладка, чтобы увидеть ошибку Javascript.

Надеюсь, вы сможете найти решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...