Я в процессе портирования приложения iOS, которое я создал с помощью Phonegap для iOS7 с помощью Phonegap 3.1, и я столкнулся с небольшой проблемой.
iOS 7, похоже, внес существенные изменения в то, что гиперссылки с target="_blank" attribute
теперь открываются по умолчанию в самом приложении, а не в системном браузере (это, похоже, не происходит на Android или предыдущих версиях iOS, однако). Это нарушило некоторые функции приложения, и мне нужно исправить это.
Использование плагина InAppBrowser похоже на способ перехода, поэтому я установил плагин. Я изменил свой config.xml, чтобы включить это:
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
И ссылка в шаблоне теперь выглядит так (обратите внимание, что я использую Handlebars в качестве системы шаблонов здесь):
<a href="#" onclick="window.externalbrowser = window.open('{{this.url}}, ', '_system', 'location=yes');" data-transition="slide">
<img alt="Favicon" style="border: 1px solid #ccc;" title="Favicon" class="ui-li-icon" src="{{this.favicon_url}}"></img>
<p style="font-size: 100%"><strong>Submitted {{this.whenSubmitted}}</strong><br />Last changed {{this.lastChanged}}</p>
</a>
Всякий раз, когда я нажимаю ссылку, она не открывается, и я вижу следующую ошибку в журналах:
Plugin 'InAppBrowser' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2013-11-08 10:22:56.753 MyApp[197:60b] -[CDVCommandQueue executePending] [Line 117] FAILED pluginJSON = [
"InAppBrowser814285423",
"InAppBrowser",
"open",
[
"http:\/\/www.site.co.uk\/deals-offers-savings\/b?ie=UTF8&node=350613011&tag=page0e-21,",
"_system",
"location=yes"
]
]
Существует также ряд предупреждений об устаревании исходного файла CDVInAppBrowser.m
.
Я не могу на всю жизнь понять, почему плагин не подбирается. Может ли кто-нибудь еще предположить, что может быть проблемой?