因此,我们正在Ionic v3 PWA中实现navigator.share()(https://developers.google.com/web/updates/2016/09/navigator-share)。
它可以工作,但是我们遇到了一个我们不知道如何解决的小问题:当 navite 共享选择器弹出时(用户可以选择收件箱、gmail、twitter 等),然后用户按下 android 上的后退按钮(忽略出现的本机模式),该函数不会触发承诺中的任何响应。不是成功,不是错误。
这里的问题是我们在调用 navigator.share 函数之前显示了一个加载微调器,如果用户在那个精确的时刻按下后退按钮,我们无法触发隐藏加载微调器的函数。
这是我们实现该功能的代码部分:
public share(title: string, message: string, url: string) {
// if it's mobile & web (ie: chrome on android)
if (this.isMobileWeb === true) {
this.showLoading();
if ((navigator as any).share) {
(navigator as any).share({
title,
message,
url,
})
.then(() => {
console.log('Success share');
this.hideLoading();
})
.catch((error) => {
console.log('Error share', error);
this.hideLoading();
});
}
else {
console.log('navigator.share() not supported.');
this.hideLoading();
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用此实现,如果用户在本机共享模式出现时按下后退按钮,则不会引发成功或错误。这段代码有什么问题吗?
我还尝试在函数内添加另一个回调 …
javascript navigator progressive-web-apps ionic3 android-chrome
该方案是这样的:我打开InAppBrowser一个网站,用户与那边的工作结束后,该网站为用户生成下载一个PDF,问题是,PDF不会下载,它会打开它在浏览器.
有没有办法让它从InAppBrowser下载?我目前正在开发iOS应用程序,因此iOS的解决方案会更好.
提前致谢.
我正在使用这个带有cordova 的插件:cordova-plugin-fcm来获取通知.
它适用于Android.
问题出在iOS上,当应用程序处于前台时,通知会到达.但是当应用程序关闭或在后台时,通知不会显示在通知栏中,但是当我打开应用程序时,我可以看到通知到达并且我生成的弹出窗口被打开.
但我真的需要通知在锁定屏幕和通知栏中显示.
这是我发送给Firebase API的内容:
/ POST to https://fcm.googleapis.com/fcm/send
而在身体我发送这个:
{
"to" : <USER_TOKEN>,
"alert":"Test",
"notification": {
"alert":"Test test",
"title": "Notification test",
"text": "Testing notification text"
},
"priority": 10,
"content_available": true
}
Run Code Online (Sandbox Code Playgroud)
我也试过"priority": "high"并获得相同的结果.
通知到了,但它只在我打开应用程序时显示.我甚至没有在通知栏或锁屏中看到它.
此外,我尝试"aps"在正文中添加属性,内部的所有信息..不起作用.
我希望有人可以对此有所启发..
PS:iOS v10.1.1
PS2:适用于所有Android设备.
我已经从社区中读到了一些答案,但似乎没有用:
谢谢你的时间.
notifications ios cordova cordova-plugins firebase-cloud-messaging
我遇到了一些奇怪的事情,这个例子在codepen中有效但在我的Ionic应用程序中不起作用.
当我更改select标签中的选项时,我想显示所选的值,但它不起作用,它表明undefined,我已经尝试了很多方面.
这不是原始代码,原始代码从外部API检索值并使用ngOptions填充选项(有效,填充正常).但它不会更新控制器中的值.
所以我决定让它变得更简单,它仍然无法工作:
HTML
<select ng-model="optionSelected" ng-change="selectUpdated()">
<option value="">Select an option</option>
<option value="h">Hello</option>
<option value="b">Bye</option>
</select>
Run Code Online (Sandbox Code Playgroud)
JAVASCRIPT
$scope.selectUpdated = function() {
console.log('Updated');
console.log($scope.optionSelected);
};
Run Code Online (Sandbox Code Playgroud)
我认为不需要更多代码,HTML包含在ion-view和中ion-content.没有显示错误,只显示'更新'输出和undefined.
更改选项时,我明白了undefined.但是在codepen中这个相同的代码工作得很好.. http://codepen.io/anon/pen/YXvYmq
有人能告诉我触发这种奇怪行为会发生什么吗?
提前致谢.