прокрутка переполнения объекта / iframe не работает в ios (cordova) - PullRequest
0 голосов
/ 26 января 2019

Я использую cordova 8.1.2 для загрузки моей страницы в iframe / объект.Но прокрутка не работает в iphone.

config.xml содержимое в cordova ниже

<content src="index.html" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <allow-navigation href="*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="*" />
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
    <preference name="android-targetSdkVersion" value="26" />
    <preference name="loadUrlTimeoutValue" value="700000" />
    <engine name="android" spec="^7.1.2" />
    <engine name="ios" spec="^4.5.5" />

Код, используемый для iframe:

    <html lang="en" class="no-js">
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <meta http-equiv="Content-Security-Policy" content="default-src 'self'; frame-src 'self'">
      <meta name="viewport" content="user-scalable=no, initial-scale=1, minimum-scale=1, width=device-width" />    
   </head>
   <body style="overflow:hidden; height:100%;">
      <div style="overflow:scroll !important; -webkit-overflow-scrolling:touch !important;">
      <iframe id="frame-one" data-tap-disabled="true" frameborder="0" src="my-url-website"></iframe>
      </div>
   </body>
</html>

Код, используемый для тега объекта:

   <body style="overflow:hidden; height:100%;">
      <div style="overflow:scroll !important; -webkit-overflow-scrolling:touch !important;">
         <object id="previllew-frame" style="width:100%;height:100%" data="my-url-website"></object>
      </div>
   </body>

Пожалуйста, помогите мне, спасибо.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Это общая проблема с iFrames и ios, я столкнулся с этим некоторое время назад, но, к сожалению, я не помню, что именно сработало для меня, потому что я пробовал так много вещей из стольких источников.Попробуйте следующее

<iframe id="frame-one" data-tap-disabled="true" frameborder="0" src="my-url-website" scrolling="yes"></iframe> 
0 голосов
/ 31 января 2019

Я столкнулся с той же проблемой на iOS для веб-проекта, над которым я работаю. Так что я уверен, что проблема связана с Safari / Webkit. Я пока не нашел решения, но проблема, похоже, не имеет ничего общего с Кордовой. Попробуйте посмотреть, сможете ли вы выяснить, как заставить ваш код работать в качестве веб-страницы в Safari.

EDIT:

Хорошо, ответ, который я нашел, состоит в том, что если вы установите scrolling = no для своего iframe, то ошибка исчезнет. К сожалению, у проекта, над которым я работаю, должен быть прокручиваемый iframe, так что это своего рода проблема для меня, но я надеюсь, что это решение поможет!

var iFrame = document.getElementById("iFrame");
iFrame.scrolling = "no";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...