Ionic Framework делает опцию «Открыть в новой вкладке» недоступной для ng-href на устройствах ios - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь добиться функциональности на мобильных устройствах, где нажатие откроет «codepen.io» (обрабатывается ng-click), а нажатие и удержание откроет контекстное меню.с опцией «Открыть в новой вкладке», которая ведет к «stackoverflow.com» (обрабатывается ng-href)

Вот код: HTML:

<head>
  <link href="https://code.ionicframework.com/nightly/css/ionic.css" rel="stylesheet">
  <script src="https://code.ionicframework.com/nightly/js/ionic.bundle.js">    </script>
</head>
<body>
  <div ng-app="myApp">
    <div ng-controller="MainController as main">
      <a ng-href="https://stackoverflow.com/" ng-click="$event.preventDefault(); main.getUrl()">The Link</a>
    </div>
  </div>
</body>

Контроллер (AngularJS 1.4.9):

(function() {
  'use strict';

  angular
    .module('myApp', [])
    .controller('MainController', MainController);


  function MainController() {
    var vm = this;

    vm.getUrl = function() {
      window.location.replace('https://codepen.io');
    }
  }

})();

$event.preventDefault(); был добавлен в ng-click для предотвращения переопределения ng-click *1016* на tap и загрузки неверного URL.

У меня возникла проблема с достижением функциональности на устройствах ios, где не открывалось контекстное меню для , нажмите и удерживайте на устройствах ios до Iphone X.

Если удалитьисходный код ионного каркаса из тега head, код работает в устройствах ios.Тем не менее, я использую ионный каркас для моего приложения angularJS.Так что этого нельзя избежать.

Есть ли способ добиться того, чтобы опция «открыть в новой вкладке» была доступна в устройствах ios, где еще есть ionic?

Вот ссылка codepen: демо

1 Ответ

0 голосов
/ 05 декабря 2018

В вашем коде -webkit-touch-callout свойство может иметь значение нет .Удалите это или добавьте следующий стиль, чтобы решить эту проблему

body {-webkit-touch-callout: default !important;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...