小编Jer*_*ris的帖子

Android 中带有缺口的黑条在沉浸式模式下使用 cordova

我正在制作一个 Android 应用程序,我希望它处于沉浸式模式,我使用插件完成了它,但我无法在带有缺口(顶部和底部的黑条)的 Android 设备上进行沉浸式工作。如何使用整个屏幕?

所以我读了很多解决方案:

setTimeout(function(){
    if (window.AndroidFullScreen) { 
        window.AndroidFullScreen.immersiveMode(); 
        AndroidFullScreen.showUnderStatusBar();
        AndroidFullScreen.showUnderSystemUI();
}, 2000);
Run Code Online (Sandbox Code Playgroud)

(我还需要使用超时来应用更改,我不知道为什么,无论如何要在应用程序启动时应用代码,我正在使用 deviceready。

  • 这使得它使用凹口全屏。我使用插件将其放入 javascript 文件中。
AndroidFullScreen.setSystemUiVisibility(
        AndroidFullScreen.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | AndroidFullScreen.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | AndroidFullScreen.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | AndroidFullScreen.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | AndroidFullScreen.SYSTEM_UI_FLAG_FULLSCREEN
        | AndroidFullScreen.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
    , successFunction, errorFunction
);
Run Code Online (Sandbox Code Playgroud)

但问题是系统UI没有隐藏,当我从顶部拖动打开通知菜单并将其隐藏时,UI最终消失但屏幕又回到有黑条,所以它就像旧的沉浸模式()(同样这段代码又在setTimeOut中)。

我的配置.xml:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.adia.security" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <platform name="android">
        <allow-intent href="market:*" />
        <preference name="AndroidLaunchMode" value="singleInstance" />
        <preference name="DisallowOverscroll" value="true" />
        <preference name="KeepRunning" value="true" />
    </platform>
    <edit-file parent="/manifest/application" target="AndroidManifest.xml">
        <meta-data android:name="android.max_aspect" android:value="2.1" />
        <activity android:resizeableActivity="false" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" …
Run Code Online (Sandbox Code Playgroud)

javascript android cordova

3
推荐指数
1
解决办法
3302
查看次数

为什么(;;)有效?

我在工作中查看了一些代码,发现了以前没有遇到过的东西:

for (; ;)
{
   // Some code here
   break;
}
Run Code Online (Sandbox Code Playgroud)

我们一直调用包含这个的函数,我最近才进入它,看看它是如何工作的.为什么这有效并且在某处记录?

在这种情况下,似乎while循环更合适......

php syntax

2
推荐指数
1
解决办法
145
查看次数

Cocoa和XCode中的KeyEvents

我正在通过为OSX构建一个基本的计算器应用程序来学习Objective-C.一切都很美妙,除了我需要按下键盘上的某些键来做同样的事情,就像你点击界面上的按钮一样.

我读到的所有东西都说要捕获这些,你必须在NSResponder的子类中拥有逻辑.我的问题在于如何"连接"该文件.创建一个新的.h和.m文件,它是NSResponder的子类,如下所示:

Responder.h


#import <Foundation/Foundation.h>

@interface Responder : NSResponder

   - (void)keyDown:(NSEvent *)event;

@end
Run Code Online (Sandbox Code Playgroud)

Responder.m


#import "Responder.h"

@implementation Responder

- (void)keyDown:(NSEvent *)event {
    NSAlert *alert = [[NSAlert alloc] init];
    [alert addButtonWithTitle:@"OK"];
    [alert setMessageText:@"Hey"];
    [alert setInformativeText:@"You Pressed A Key!"];
    [alert setAlertStyle:NSWarningAlertStyle];
    [alert runModal];
}

@end
Run Code Online (Sandbox Code Playgroud)

应用程序如何知道使用该文件?是否在.xib文件的界面中的某处,我拖动那个蓝色箭头并将其"连接"到某个地方?我甚至做得对吗?我已经谷歌搜索了一段时间,一切都假设我知道如何将NSResponder子类加入我的应用程序.我想,我真的错过了一个基本概念.任何帮助表示赞赏!

events cocoa objective-c nsresponder

2
推荐指数
1
解决办法
946
查看次数

选择带有计数和无计数的语句

我有一个SQL语句来选择数据:

SELECT DISTINCT count(table.data) as cntd, table.datatwo
FROM table LEFT JOIN tabletwo ON table.id=tabletwo.tableid
WHERE tabletwo.dated='2016-11-17' AND table.datafive='1'
Run Code Online (Sandbox Code Playgroud)

如果我保持上面的方式 - 它返回如下数据:

cntd datatwo
4    92
Run Code Online (Sandbox Code Playgroud)

但是正确的数据应该是:

cntd datatwo
2   92
2   93
Run Code Online (Sandbox Code Playgroud)

由于有两种不同datatwo.当我选择没有cont的语句时 - 它显示两者datatwo.

datatwo
92
93
Run Code Online (Sandbox Code Playgroud)

我哪里弄错了?

php mysql

2
推荐指数
1
解决办法
29
查看次数

测试异步 SQS sendMessage

我有一个异步 lambda,它执行异步 SQS sendMessage 请求。SQS 队列是标准队列,不是 FIFO,只是为了澄清。

这是一个代码示例(没有不相关的逻辑部分):

exports.functionHandler = async (event, context, callback) => {
    try {
        let parsedBody = JSON.parse(event.Records[0].body);
        let modifiedBody = await doStuff(parsedBody);

        let sqsPayload = {
            MessageBody: JSON.stringify(modifiedBody),
            QueueUrl: my-queue-url
        };

        await sqs.sendMessage(sqsPayload).promise();

        callback(null, utils.respondSuccess("Done"));
    } catch (err) {
        // Handle error

        callback(null, utils.respondError(err));
    }
};

const doStuff = async payload => {
    // Do stuff 
}
Run Code Online (Sandbox Code Playgroud)

很简单。

现在的问题是:我正在尝试使用包来测试这个功能aws-sdk-mock。当 lambda 不是异步的并且 sendMessage 函数正在使用回调时,这就是我如何存根 sendMessage 函数:

it("an awesome title for my test", async () …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-sqs node.js aws-lambda aws-sdk-mock

2
推荐指数
1
解决办法
1万
查看次数

用于状态缩写的PHP正则表达式

我意识到这不是"让我成为一个正则表达式"的网站,但我老实说试图在我自己解决这个问题一段时间.我对正则表达式很糟糕.

基本上,我正在解析位置搜索的查询,其中可能包括各种变体,如"区域,城市,州,邮编"以及介于两者之间的所有内容(带或不带逗号),缩写状态或拼写等.

我正在努力与州缩写.主要是因为它并不总是像"VA"那样在任何一侧都有空格,而是它可能是字符串的结尾.我一直在用RegEx工具测试这些,这里有一对我试过的"VA":

/(VA)(\ s | \n |\r)/ < - DOESNT全部工作

/(VA)[^ A-Z0-9]*/< - 在最后允许数字和字母结束

我想我只需要一些关于如何做到这一点的指导?

[编辑] @Igor Korghov

我有一系列带有海岸线的州缩写:

$stateAbbreviations  = Array('AL','AK','CA','CT','DE','FL','GA','HI','LA','ME','NH','NJ','NY','NC','OR','MD','MA','MS','RI','SC','TX','VA','WA');
Run Code Online (Sandbox Code Playgroud)

稍后在我的代码中,我循环遍历这些并尝试在我的$查询中匹配它们,这是用strtoupper()大写的.

$query = "LESNER BRIDGE, VIRGINIA BEACH, VA 23453";

foreach($this->stateAbbreviations as $state)
{
   if(preg_match("/( VA)[^A-Z0-9]*/", $query, $match))
   {                    
      var_dump($match);
   }
}
Run Code Online (Sandbox Code Playgroud)

我意识到一种更有效的方法是找到隔离的2个字符块,然后与我的数组进行比较,但目前,我只是搞乱测试以确保我甚至可以抓住缩写.

php regex

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

无法获取属性'offsetWidth'的值:object为null或undefined错误

我正在开发一个基本上被设置为具有三行的表的页面.顶行是标题,中间行是页面的主要部分,底行是导航.导航行中的每个按钮都会触发一个javascript函数,该函数使用中间行的innerHTML值并放置必要的html来显示页面的内容.在我的主页上:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=MY_KEY&sensor=false"></script>
Run Code Online (Sandbox Code Playgroud)

在头部我有:

var myOptions = {center: new google.maps.LatLng(-34.397, 150.644), zoom: 8, mapTypeId: google.maps.MapTypeId.ROADMAP };
Run Code Online (Sandbox Code Playgroud)

在body部分中,它立即运行,然后在MAP按钮调用的函数中,我有:

var mapString;
var w = document.getElementById("mainwindow");
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
mapString = '<table width="1024" cellpadding="0" cellspacing="0"><tr>';
mapString += '<td> <div id="map_canvas" width="1024" height="350"></div></td>';
mapString += '</tr></table>';
w.innerHTML = mapString;
Run Code Online (Sandbox Code Playgroud)

现在,当我按下Map按钮时,我收到错误:

Unable to get value of the property 'offsetWidth': object is null or undefined
main.js Line 29
Code 0 char:1385
URI: http://maps.gstatic.com/intl/en_us/mapfiles/api-2/3/2/main.js
Run Code Online (Sandbox Code Playgroud)

不确定这个错误试图告诉我什么.任何帮助将不胜感激.

javascript google-maps google-maps-api-3

1
推荐指数
1
解决办法
2万
查看次数

Javascript只显示偶数

我有这个项目,我必须生成随机数学总和……它们都是“除以”总和,所以我想让所有数字都相等。谁能帮我这个?只是问我是否不够清楚=)

<script>
   $(function() {
      var number = document.getElementById("breuken"),
      i = 1;

      for (; i <= 10; i++) {

         var sRandom = Math.floor(Math.random()*10 + 1),
         fRandom = Math.floor(sRandom + Math.random()*(20-sRandom )),
         calc = Math.abs(fRandom / sRandom),
         textInput = document.createElement('input'),
         span = document.createElement('span'),
         p = document.createElement('p');

         textInput._calc = calc;

         textInput.onchange = (function(p) {
            return function(ev) {
               var self = ev.target;
               if (self.value == self._calc) {
                  p.style.color = 'green';                    
               };
            };
         })(p);

         span.innerHTML = fRandom + " : " + sRandom + " …
Run Code Online (Sandbox Code Playgroud)

javascript math

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

通过CURL请求加载iFrame内容?

我有一个包含文件(FileX.php)的应用程序,在某些情况下,该文件会在屏幕上回显iFrame,并加载跟踪URL(FileY.php)。在生产环境中,我直接将FileX.php包含在主页(FileA.php)中,iFrame被回显到屏幕上,并且成功调用了FileY.php。

不过在测试中,我需要调用FileA.php的多个版本,每个版本都包含FileX.php,该版本输出iFrame来调用FileY.php。我正在使用cURL请求自动处理大量请求。

通过cURL请求加载FileA.php时,它成功完成了include()FileX.php的操作,但是由于它是通过cURL进行的,因此iFrame永远不会加载它的目的地(FileY.php)。

对fileA的cURL请求如下所示:

TestFile.php

// URL
$url = "http://www.example.com/FileA.php";

// New Cookie file
$ckfile = tempnam("/tmp", "CURLCOOKIE");

// New Connection
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);  
curl_setopt($ch, CURLOPT_COOKIESESSION, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

FileA.php:

include_once('FileX.php');
Run Code Online (Sandbox Code Playgroud)

FileX.php:

echo("<iframe src='http://www.example.com/FileY.php' width='0' height='0'></iframe>");
Run Code Online (Sandbox Code Playgroud)

FileY.php

// Contains logging stuff to log the fact that FileY.php was called.
Run Code Online (Sandbox Code Playgroud)

就像我说的那样,如果我直接在浏览器中调用FileA.php,则会包含FileX.php并将FileY.php成功加载到iFrame中。当我通过cURL调用FileA.php时,iFrame不会加载,并且永远不会调用FileY.php。

我试过echo()用ob_start()和包装FileX.php中的和ob_end_flush()强制输出,但这没有用。我尝试添加一个sleep(1) …

php iframe curl

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

PHP 零整数被评估为 false

正如标题所示,PHP 似乎将整数值 0 评估为 false。

以这个片段为例:

http://sandbox.onlinephpfunctions.com/code/13d885fb68359a3154999c2ef85db7c913c49bc5

<?php

if($exists = checkDup()){
    echo $exits;
}
else{
    echo "error!";  
}

function checkDup ($foo = 'blah', $bar = 'blah'){
    if ($foo == $bar) return (int) 0;
    return false;
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,尽管将回复转换为 int PHP 将返回解析为 false,但这是不正确的。

php

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

协方差和逆变性匿名类型

我在C#中读到,covariance and contravariance为数组类型,委托类型和泛型类型参数启用隐式引用转换.

我想知道我可以使用匿名类型的协方差和逆变(它们是直接从对象派生的类类型),它将如何工作?

.net c# .net-4.0 c#-4.0

0
推荐指数
1
解决办法
411
查看次数

如何从变量生成数组并与另一个字符串连接 - PHP

所以我有一个变量$family.

$family = "mom dad sister brother";
Run Code Online (Sandbox Code Playgroud)

我必须$f从变量中创建一个数组$family.像这样的东西

$f = array("mom", "dad", "sister", "brother");
Run Code Online (Sandbox Code Playgroud)

我接下来的事情是$nice_family = "is nice";

期望的结果:妈妈很好,爸爸很好,妹妹很好,兄弟很好.

提前致谢!

php arrays string variables

0
推荐指数
1
解决办法
82
查看次数

用PHP插入多条数据

我试图在一个表中插入多个数据,但是我收到一条错误消息:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 'INSERT INTO author (firstname, lastname) VALUES ('Rasmus', 'Lerdorf')INSERT INT' 附近使用的正确语法

这是方法:

$sql = "INSERT INTO author (firstname, lastname)  VALUES ('Roal', 'Dahl')";
$sql .= "INSERT INTO author (firstname, lastname)  VALUES ('Rasmus', 'Lerdorf')";
$sql .= "INSERT INTO author (firstname, lastname)  VALUES ('Jane', 'Doe')";
Run Code Online (Sandbox Code Playgroud)

我需要为此创建一个 for 循环吗?这怎么可能?

php mysql

-1
推荐指数
1
解决办法
98
查看次数