2016-05-13 4 views
3

Для расширения Chrome я использую всплывающее окно как форму входа с помощью Angular.Почему расширение расширения расширения Chrome Chrome при вводе автозаполнения предложения?

Но на OS X, когда я нажимаю на подсказку автозаполнения имени пользователя, всплывающее окно закрывается, когда вы выходите за пределы всплывающего окна. Но он хорошо работает в Windows.

<!doctype html> 
<html> 

<head> 
    <meta charset="utf-8"> 
    <!-- build:css styles/vendor.css --> 
    <!-- bower:css --> 

    <link href="bower_components/bootstrap/dist/css/bootstrap.css" rel="stylesheet"> 
    <!-- endbower --> 
    <!-- endbuild --> 
    <!-- build:css styles/main.css --> 
    <link href="styles/main.css" rel="stylesheet"> 
    <!-- endbuild --> 
</head> 

<body ng-app="myApp" ng-controller="MainCtrl"> 

    <div ng-if="loggedIn"> 
    <p> 
     <img src="images/logo-full.png"> 
    </p> 
    <p class=""><strong>You're logged in as:</strong> 
    </p> 
    <p><i>{{user}}</i> 
    </p> 
    <br> 
    <div class="center-block"> 
     <button class="btn btn-danger" ng-click="logout()">Log out</button> 
     <a class="btn btn-primary pull-right" ng-href="https://example.com/cockpit" target="_blank">Go to Cockpit</a> 

    </div> 
    </div> 

    <div ng-if="!loggedIn"> 
    <p> 
     <img src="images/logo-full.png"> 
    </p> 
    <form ng-submit="login(username, password)"> 
     <div class="form-group"> 
     <label for="username" class="sr-only">Email</label> 
     <input id="username" class="form-control" type="text" ng-model="username" required placeholder="Email"> 
     </div> 
     <div class="form-group"> 
     <label for="password" class="sr-only">Password</label> 
     <input id="password" class="form-control" type="password" ng-model="password" required placeholder="Password"> 
     </div> 
     <div class="alert alert-danger" role="alert" ng-if="error">{{error}}</div> 
     <div class="form-group"> 
     <button type="submit" class="btn btn-primary" ng-disabled="loading">Log in</button> 
     </div> 
     <div class="form-group"> 
     <a href="https://example.com/auth/reset" target="_blank"><small>Forgot your password?</small></a> 
     </div> 
    </form> 
    <div class="margin-top-big"> 
     <a href="https://example.com/auth/signup" target="_blank" class="btn btn-block btn-success"><strong>Don't have an account? Get started</strong></a> 
    </div> 
    </div> 

    <!-- build:js scripts/vendor.js --> 
    <!-- bower:js --> 
    <script src="bower_components/jquery/dist/jquery.js"></script> 
    <script src="bower_components/jquery-cookie/jquery.cookie.js"></script> 
    <script src="bower_components/angular/angular.js"></script> 
    <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script> 
    <!-- endbower --> 
    <!-- endbuild --> 
    <script src="lib/myLib.js"></script> 

    <!-- build:js scripts/popup.js --> 
    <script src="scripts/popup.js"></script> 
    <!-- endbuild --> 
</body> 

</html> 

Любая идея обходного решения?

+0

Эй, вы нашли решение этой проблемы? – Bazinga

+0

@ JsIsAwesome Еще нет. Я дам вам знать, если это случай – Jordane

+0

Спасибо ... :) – Bazinga

ответ

3

Похоже, что OSX обрабатывает щелчок по всплывающему окну текста как клик вне области распространения расширения, что приводит к его закрытию.

Я наблюдал его на расширениях для Safari и Chrome, но только на OSX. Вот related ticket в Chromium bugtracker.

В некоторых случаях вы можете создать настраиваемый элемент управления, который будет использовать divs для отображения всплывающего содержимого, предотвращая эту проблему. Для автозаполнения я не думаю, что обходной путь существует. Вы можете полностью отключить автозаполнение в OSX-браузерах. Вряд ли лучшее решение, но может быть вам подходит.

+0

:-(в прошлом году была обнаружена какая-либо работа, также сталкиваясь с той же проблемой. –

Смежные вопросы