我有一个显示用户输入文字的Ionic应用程序。在文本中允许使用一些HTML。例如,这是允许的:
<a href="http://www.google.com">Go to Google</a>
我正在使用WYSIWYG编辑器让用户输入文本。 https://github.com/fraywing/textAngular
显示时,我希望在移动设备的默认浏览器(IOS上的Safari)中打开链接。
显示文本,我使用的是text-angular的ta-bind
指令:
<div ta-bind ng-model="article.contents"></div>
其中article.contents具有HTML文本(用户输入)。
虽然这在Android中运行良好,但在IOS中,链接会在webview中打开并破坏应用程序。
还有其他帖子提到应用内浏览器插件并将链接更改为window.open('URL', '_blank')
,但我无法执行此操作。
请注意,文本是在另一个“管理”应用中输入的,该应用是一个网络应用(也是Angualr应用)。
如何解决此问题?
答案 0 :(得分:0)
我通过使用inapp浏览器并创建自定义指令而不是使用ta-bind来解决此问题。
.directive('customcompile', ['$compile', function ($compile) {
return function(scope, element, attrs) {
scope.$watch(
function(scope) {
return scope.$eval(attrs.customcompile);
},
function(value) {
element.html(value);
$compile(element.contents())(scope);
}
)};
}])
我还必须再使用一个指令来解决之前由ta-bind处理的youtube视频问题。