Articles of JavaScript

JavaScriptalgorithm来确定平板电脑的方向

我们正在为平板电脑开发一个HTML5 / JavaScript应用程序,我们希望在横向和纵向上以不同的方式布置我的屏幕。 最初,我们捕捉方向变化通知,并跟踪当前的方向(通常报告为0,90,-90或180度 – 请参阅此问题 )。 不幸的是,不同的设备报告不同的方向为“0” 。 这个链接认为这是一个错误,但有一些证据表明,这是按devise工作的 – 例如, 本文build议“横向”是默认的方向,这些设备在风景中举行时报告“0”方向模式。 我们接下来试图看看实际的屏幕大小,假设当宽度大于高度时,我们处于横向模式。 但是,当显示屏幕键盘时,这个algorithm会变得困惑 – 当显示键盘时,返回可见区域的尺寸。 严格来说,当设备处于肖像模式时,但屏幕上未被键盘遮挡的部分比高度宽。 对这个问题的回答是相当古老的。 这仍然是最好的答案? 有没有人有一个好的algorithm,考虑到键盘可见性?

如何找出WebView是否显示/在屏幕上/使用JavaScript可见

我有一个使用精灵表单“播放video”的网页。 该页面是移动优化的,所以它可以加载到Android和iOS WebViews。 我想知道是什么时候该网页是可见的,所以才能播放video。 我不希望用户在video中间播放video,因为WebView滞后。 我可以看到一些开发者可能会等到整个页面完成之后,才从用户看到页面中的所有资源。 所以,我不想在那之前开始“video”。 我不能依靠window.onload,因为即使WebView不在屏幕上或可见时,该事件也会触发。 我怎么能从客户端,用一些JavaScript,最好呢? [编辑]为了清楚,我暗示我没有任何控制本地WebView。 您可以将网页加载到不在屏幕上的WebView中,然后推送该视图或稍后将其添加到屏幕布局中。 我的问题是,当我的网页的URL被加载到一个WebView,我不知道什么时候WebView出现在屏幕上。

无法调用determineVisibility()从来没有看到PID的连接

我们最近将我们的移动应用程序从Worklight 5.0.6更新为MobileFirst 7.0。 在更新之前,由于JSON商店的Cordova问题,我们不支持4.4及更高版本。 现在,我们正在支持更新版本的Android。 该应用程序适用于所有iOS设备和Android 4.x设备。 在Android 5及以上版本中,点击loginbutton时出现白屏。 $("#loginButton").on("click", function(e) { e.preventDefault(); $('#realmPopupMenu').popup("open"); }); 在Android日志中,我看到这个错误: 06-18 07:34:57.329: W/AmazonAppstore.AppManagerAndroidPackageDelegate(2325): Unable to determine asin for package com.MyGPCMobile. Skipping metadata update. 06-18 07:34:58.709: W/AmazonAppstore.AppManagerAndroidPackageDelegate(2325): Unable to determine asin for package com.MyGPCMobile. Skipping metadata update. 06-18 07:35:02.129: W/BindingManager(2501): Cannot call determinedVisibility() – never saw a connection for the […]

webview页面内的Framework7不加载

我是新来的framework7,我试图让它在android的内部工作。 这是我做的,在android studio中创build项目,使用webview加载index.html,它的工作原理。 但是,关于“关于”,“服务”和“forms”的链接不起作用。 我看到了framework7使用ajax来调用这些页面。 所以我认为它不能在webview中正确的方式吗? 我需要改变的方式framework7初始化使用JavaScript或什么加载页面? 有可能使它以这种方式工作? 加载另一个HTML文件的内容为页面,而不是使用“内联”页面? 一些忠告? 更新我的代码(使用android studio): activity_main.xml中: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="atlasdb.atlasdatabase.MainActivity"> <WebView android:id="@+id/atlasdatabase" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout> MainActivity.java: package app.apptest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.webkit.WebSettings; import android.webkit.WebView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); […]

JavaScript有时在android的webview中不起作用

我在我的应用程序中放置了一个webview来访问一个包含一些javascript函数的网页,我的目的是当用户点击网页中的一个链接时,它会在应用程序中启动一个新的活动。 我写了“webSettings.setJavaScriptEnabled(true);” 在我的源代码。 它在大多数时间都能正常工作,但是有时不起作用,用户点击时没有响应,我不知道为什么,因为环境根本没有改变。 有谁知道为什么?

Phonegap Cordova – 全屏后底部的黑色状态栏

我一直记得这个问题。 我以为它可能只是从我的手机或模拟,但发布我的应用程序后,我仍然看到这个黑色的矩形在屏幕的底部,看起来像状态栏。 这是在我的config.xml中有这个之后发生的 <preference name="android-build-tool" value="gradle" /> <preference name="Fullscreen" value="true" /> <preference name="Orientation" value="portrait" /> 截图: UPDATE 我注意到,如果我最小化游戏并点击右下angular(奇怪),底部的黑色条会消失。 我试图创build一个新的项目,同样的事情发生了,一旦我把全屏首选项在config.xml中。 似乎顶栏转移到底部> _>

Android如何在HTML5 localstorage上写入一个值?

我有一个webview android应用程序,它打开一个包含一些HTML5 / JavaScript代码的网页。 我想从我的应用程序的Android端传递一些值到浏览器端。 所以我想从Android上写入到HTML5 localstorage,然后网页的Javascript部分读取本地存储的值。 Android webview如何写入HTML5本地存储? 或者有什么办法的Android可以传递一些值,以加载页面的JavaScript? (而不必重新加载整个页面)说写一些东西到HTML5本地存储,然后JavaScript代码从HTML5本地存储读取的东西 它不同于如何将json格式的数据从webview传递到html页面 。 我需要通过android写入到HTML5 localstorage的方式

在Android中的服务中运行JavaScript

我有用JavaScript编写的业务逻辑,此代码与其他非Android应用程序共享。 在Android中的Service中使用这段JavaScript中的函数的最佳方式是什么? AFAIK,有2个选项? V8是内置于标准的WebView和超快速,没有额外的apk膨胀。 犀牛,这是非常棘手的Android? 关注V8 / Webview,当我试图访问WebView,任何function,我得到; All WebView methods must be called on the UI thread. Future versions of WebView may not support use on other threads. 警告指出,它现在甚至不工作。 当我设置webviewclient,加载一个URL后,我什么也没有得到。 我的问题分三部分。 1)有没有人在没有UI线程的情况下在webview中运行javascript? 2)如何从javascript中的函数获取结果,webview接口“addJavascriptInterface”是否支持加载参数并将其发送回java? 3)如果上述任何一个是不可能的..我想我会去得到犀牛,任何提示将不胜感激,我只看到了一些博客抱怨的问题,以实现Android上的问题,并怀疑是否有Android的“去”版本保持在某个地方。

维护PhoneGap混合/ Web应用程序代码库

我正在研究维护一个跨平台(web,ios,android)phonegap代码库的复杂性,它允许尽可能简单地实现特定于平台的代码(和资产/testing)。 我正在采取的最好的方法是使用grunt来构build典型web应用程序的代码,然后使用grunt-phonegap模块来生成相应的phonegap项目。 我相信这会起作用,但是对于我的phonegap项目,我知道我将需要使用一些专门编写的插件来利用一些设备function(这些不是典型的cordova插件) 我想知道是否有人已经find了维护可以适应不同平台和需求的代码库的方法。 Javascript没有#IF_DEFfunction,但是有可能使用grunt来实现类似的function吗?

从一个集成到现有的Android应用程序中的原生应用程序获取结果

我发现了很多关于如何整合反应本机到现有的Android应用程序的文章。 但是他们都没有解释如何从反应原生代码中得到结果,以便直接在Java android源代码中使用它。 解释:我有一个反应原生的应用程序,正在做一个特定的工作,并显示在一个popup窗口的结果。 我想集成这个应用程序(做必要的修改),以便能够将这个特定的结果放到我的android的Java源代码中,而不是将它显示在一个反应​​本地的popup窗口中。 我搜查了所有的互联网,但没有发现这一点。