Возникли проблемы при просмотре веб-страницы в div в мобильном приложении с использованием JQuery

0

Мой код отлично работает при просмотре веб-страницы на компьютере, но когда я использую эмулятор или iPhone с xCode, вся страница не загружается. Возможно, появляются первые 10-25% страницы, а остальные отключены. Ниже приведен пример кода. Вся помощь приветствуется!

HTML:

<!DOCTYPE html>
<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <style>


        object {
            width: 100%;
            min-height: 100%;
        }       


    </style>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" type="text/css" />

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>

    <link rel="stylesheet" href="css/jquery-mobile-slide-menu.css" type="text/css" />
    <script type="text/javascript" src="js/jquery-mobile-slide-menu.js"></script>
    <script>

    function MyFunction(id) {
        var num=id;

        if (num == "foxnews") {
            $("#content").mobile.loadPage("http://m.foxnews.com");
        }
        if (num == "cnn") {
            $('#content').load('http://m.cnn.com');
            $('#content').trigger("pagecreate").trigger("refresh");
        }

        if (num == "home") {
            location.reload();
        }

        //$("#content").html('<object data="http://www.foxnews.com" />');
        //document.getElementById("content").innerHTML="<img src='Background.png'>";
    }
    </script>
</head>
<body>

    <div id="side-menu">
    <ul>
        <li><a id="home" href="" onclick="MyFunction(this.id);">Home</a></li>
        <li><a id="cnn" href="#" onclick="MyFunction(this.id);">&nbsp&nbsp&nbspCNN</a></li>
        <li><a id="foxnews" href="#" onclick="MyFunction(this.id);">&nbsp&nbsp&nbspFox News</a></li>
        <li><a href="/page-2/">Page 2</a><span class="icon"></span></li>
        <li><a href="/page-3/">Page 3</a><span class="icon"></span></li>
    </ul>
</div>
<div data-role="page" id="about-the-band" data-title="Page Title" data-theme="b" class="pages">
    <div data-role="header" data-theme="b">
        <a href="#" class="showMenu" data-role="button" data-icon="grid" data-iconpos="notext">Menu</a>
        <h1>Header</h1>
    </div>

    <div id="content" data-role="content">
        <p>Content Goes Here</p>
    </div>
</div>
<script type="text/javascript">
    $(function(){
        $('#side-menu').slideMenu();
    });
</script>
</body>
</html>
Теги:
mobile

1 ответ

0

ключевое слово: crossdomain

Выдержка из устаревшего JQuery Mobile: "Когда jQuery Mobile пытается загрузить внешнюю страницу, запрос выполняется через $.mobile.loadPage(). Это разрешает только междоменные запросы, если для параметра конфигурации $.mobile.allowCrossDomainPages установлено значение true ".

Загрузите страницу в div jQuery Mobile:

$("#landingPage").live('pageinit', function() {
            jQuery.support.cors = true;
            $.mobile.allowCrossDomainPages=true;
        });

но, возможно, я полностью нахожусь в неправильном запахе; но вы должны открыть jsfiddle, иначе это точно так же, как поиск иглы в стоге сена.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню