Многократная прокрутка iframe на Android Chrome - PullRequest
0 голосов
/ 25 мая 2018

На работе у нас есть система, которая позволяет изменять некоторые аспекты этой системы.Мы пытаемся добавить модальные коробки (3 из них) на сайт.Он отлично работает в браузерах на базе Windows.На мобильном телефоне он не работает правильно.Мы добавили элемент полосы прокрутки в iframe (который мы используем, так как у нас есть ограничение на число символов в системе), который прокручивается при касании для первого загруженного iframe, но в других 2 прокрутка работает только с использованием полосы прокрутки, а не касания.

Я знаю, что использование iframe не является идеальным, но из-за несоответствия символов мы не можем добавлять веб-контент в модал, не платя системным разработчикам, чтобы изменить лимит, и, конечно, подождать, пока они завершат всепроцесс.

У кого-нибудь есть предложения по решению этой проблемы?

HTML:

<a href="#privacy">Privacy Policy</a>&nbsp;<a href="#cookie">Cookie Policy</a>
<div id="privacy" class="modalDialog">
<div><a href="#close" title="Close" class="close">X</a><iframe src="policies/fpn.html" frameBorder="0" scrolling="yes"></iframe></div>
</div>
<div id="cookie" class="modalDialog">
<div><a href="#close" title="Close" class="close">X</a><iframe src="policies/cookie.html" frameBorder="0" scrolling="yes"></iframe></div>
</div>

CSS:

.modalDialog iframe  { width: 100%;
height: 100%;}

.modalDialog {
    position: fixed;
    font-family: Arial, Helvetica, sans-serif;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 99999;
    opacity:0;
    -webkit-transition: opacity 400ms ease-in;
    -moz-transition: opacity 400ms ease-in;
    pointer-events: none;
    -webkit-overflow-scrolling: auto;       

}

.modalDialog:target {
    opacity:1;
    pointer-events: auto;
-webkit-overflow-scrolling: auto; 
}

.modalDialog > div {
    width: 80%;
    height: 600px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 10px;
    background: #fff;  
-webkit-overflow-scrolling: auto;
    overflow: auto;
    overscroll-behavior: contain;         

}
::-webkit-scrollbar {
            -webkit-appearance: none;
            width: 20px;
}
::-webkit-scrollbar-thumb {
            border-radius: 4px;
            background-color: rgba(0,0,0,.5);
            box-shadow: 0 0 1px rgba(255,255,255,.5);
}

.close {
    background: #606061;
    color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: 5px;
    text-align: center;
    top: 5px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    -moz-box-shadow: 1px 1px 3px #000;
    -webkit-box-shadow: 1px 1px 3px #000;
    box-shadow: 1px 1px 3px #000;
}

.close:hover { background: #00d9ff; }

1 Ответ

0 голосов
/ 25 мая 2018

Нашел решение, когда я искал исправление другой проблемы.

Добавив display:block; к целевому подклассу и display:none; к родительскому классу, он устранил проблему.

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