小编Die*_*ego的帖子

Float32Array上的.push()

我不能在Float32Array上使用.push(),我收到错误,所以我试着像这样添加它:

myarray = new Float32Array() ;
myarray.push = function()
{
    for( var i in arguments )
    {
        this[this.length] = arguments[i] ;
    }
} ;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我没有得到错误,但我的数组的值都是0.为什么?

javascript

7
推荐指数
2
解决办法
7504
查看次数

Chrome的语音合成无法脱机工作吗?

我正在玩Chrome的speechSynthesis

msg = new SpeechSynthesisUtterance("some text");
msg.lang = "fr-FR" ;
window.speechSynthesis.speak(msg);  
Run Code Online (Sandbox Code Playgroud)

当我发现这个奇怪的问题时:如果您的设备处于离线状态,它就不能再说了.我在网上搜索但没有找到任何解释.
这不能离线工作吗?
(如果你知道它需要在线的原因,请在评论中告诉我.)

google-chrome speech-synthesis

7
推荐指数
1
解决办法
2427
查看次数

如何将数据从TWA Web应用程序发送到我的应用程序?

使用Crosswalk,我有一个非常方便的javascript-app界面,因此我可以从javascript调用Java函数,并将Webapp的数据共享到android应用程序

如何通过“自定义标签”(或“受信任的网络活动”)实现此目标?

似乎根本没有办法。应该有,尤其是当我的应用程序和游戏/网络应用程序来自同一作者时。

例如,我不信任LocalStorage,尤其是现在带有“自定义选项卡”的LocalStorage,它可能会被清理,或者用户可能会卸载浏览器并安装另一个浏览器,因此保存的数据将丢失,并且用户会对该应用程序感到恼火丢失保存的数据,甚至不了解数据在浏览器中,而不在应用程序中。所以我以前让我的Web应用程序调用该应用程序以保存数据。

另一个示例,当“自定义标签”使用Firefox而不是Chrome时,语音合成将不可用。我可以在我的webapp中轻松检测到它。但我希望我的Web应用程序调用该应用程序并将其发音发送给它。这就是我对Crosswalk所做的事情,因为它也不支持语音。

我知道Web视图比“自定义标签”更适合我使用,但是当无法在设备(尤其是Android <5)上使用Web视图时,除了打开“自定义标签”外,我的应用没有很多其他选择(或信任的网络活动,如果可用)。我再也不能使用Crosswalk了,它已经停产并且仍然充满严重的错误。其他解决方案(如GeckoView或阿里巴巴Gcanvas)尚未准备就绪。

编辑:

在这篇关于可信网络活动的文章https://developers.google.com/web/updates/2017/10/using-twa中,我阅读了

不过,您可以通过在URL中与页面之间传递数据来 Web内容进行协调(例如,通过查询参数,自定义HTTP标头和意图URI)。

编辑:

我已经阅读了许多页面,尽管Intent和深层链接对我来说仍然很晦涩,但是这就是我尝试过的方法。

我为自定义操作添加了一个意图过滤器:

<receiver android:name=".OutgoingReceiver" android:enabled="true">
    <intent-filter>
        <action android:name="custom_tabs_js_interface" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

我为该接收器创建了一个类:

public class OutgoingReceiver extends BroadcastReceiver {

    public static final String CUSTOM_INTENT = "custom_tabs_js_interface";

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "received" , Toast.LENGTH_SHORT).show();
    }
Run Code Online (Sandbox Code Playgroud)

我用javascript来称呼它

location.href="intent:#Intent;action=custom_tabs_js_interface;end";
Run Code Online (Sandbox Code Playgroud)

我什至不传递数据,我只是尝试调用它。但是什么也没发生...

android deep-linking android-intent chrome-custom-tabs trusted-web-activity

5
推荐指数
2
解决办法
864
查看次数