小编tre*_*005的帖子

cordova的多个config.xml文件

我正在构建一个Cordova应用程序,我允许不同的客户品牌.我想知道是否有一种方法可以使用默认的config.xml,然后让第二个文件用品牌值覆盖默认值.我需要覆盖很多值,但更明显的是:

  • 小部件的id和version属性
  • 名称
  • 描述
  • 作者
  • icon(如何覆盖同一个标签的多个?)

如果没有Cordova方式这样做,是否有一个我可以用于此目的的linux工具将输出我的单个config.xml文件?

cordova

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

条件PostgreSQL外键

在PostgreSQL中有可能有条件地添加外键吗?

就像是:ALTER TABLE table1 ADD FOREIGN KEY (some_id) REFERENCES other_table WHERE some_id NOT IN (0,-1) AND some_id IS NOT NULL;

具体来说,我的引用表具有所有正整数(1+),但我需要添加外键的表可以包含零(0),空和负一(-1),所有这些都意味着不同的东西.

笔记:

我完全清楚这是一个糟糕的桌面设计,但它是10多年前建立的一个聪明的技巧,当时我们现有的功能和资源都不存在.这个系统正在运行数百个零售店,所以要回去并且此时改变方法可能需要几个月我们没有.

我不能使用触发器,这必须用外键完成.

postgresql

10
推荐指数
2
解决办法
7225
查看次数

不可能的内联Javascript延迟/睡眠

有一个JavaScript函数,我无法控制代码,它调用我编写的函数.我的函数使用DOM生成一个iFrame,定义它的src,然后将它附加到另一个DOM元素.但是,在我的函数返回之前,因此允许继续执行包含函数,必须完全加载iFrame.

以下是我尝试过的事情以及它们不起作用的原因:

1. SetTimeout选项:
99.999%的时间,这是答案.事实上,在过去十年中我一直在使用JavaScript进行指导,我一直坚持认为代码总是可以重构以使用这个选项,并且从不相信存在情况并非存在的情况.好吧,我终于找到了一个!问题是因为我的函数被内联调用,如果在我的iFrame完成加载之前执行了下一行,那么我的脚本完全是neuters,并且从脚本完成的那一刻开始,外部脚本继续.各种回调都行不通

2."无所事事"循环:
您使用的此选项(// iFrame未加载){//不执行任何操作}.理论上,在加载帧之前不会返回.问题是,由于这会占用所有资源,因此iFrame永远不会加载.这个技巧,虽然非常不专业,很脏等,当你只需要一个内联延迟时,它会起作用,但由于我需要一个外部线程来完成,它不会.
在FF中,几秒钟后,它会暂停脚本并弹出一个警告,指出脚本没有响应.当警报启动时,iFrame能够加载,然后我的函数能够返回,但是让浏览器冻结10秒,然后要求用户正确地解除错误是不行的.

3.模型对话:
我受到以下事实的启发: FF弹出窗口允许iFrame加载,同时停止执行该功能,并考虑它,我意识到这是因为模态对话,是一种停止执行的方式但允许其他线程继续!很棒,所以我决定尝试其他模态选项.像alert()这样的东西工作得很漂亮!当它弹出时,即使只有1/10秒,iFrame也能完成,而且一切都很棒.如果1/10秒还不够,我可以将模型对话放在解决方案2的while循环中,这样可以确保iFrame及时加载.好吧?除了我现在必须弹出非常不专业的对话以供用户解雇才能运行我的脚本.我和自己一起讨论了这个动作的成本/收益,但后来我遇到了一个场景,我的代码在一个页面上被调用了10次!在访问页面之前必须关闭10个警报?!这让我想起了90年代后期的脚本儿童页面,并不是一个选择.

4.那里
大量其他延迟脚本:大约有10个jQuery延迟或睡眠功能,其中一些实际上非常巧妙地开发,但没有一个工作.一些原型选项,再一次,我找不到可以做到的!十几个其他图书馆和框架声称他们拥有我需要的东西,但是他们都密谋给我一些虚假的希望.

我相信,由于内置模型对话可以暂停执行,同时允许其他线程继续,必须有一些代码可访问的方式来做同样的事情而不输出用户.

该代码实际上是成千上万行并且是专有的,所以我写了这个问题的小例子供你使用.请务必注意,您可以更改的唯一代码位于onlyThingYouCanChange函数中

测试文件:

<html>
<head>
</head>
</html>
<body>
<div id='iFrameHolder'></div>
<script type='text/javascript'>
function unChangeableFunction()
{
    new_iFrame = onlyThingYouCanChange(document.getElementById('iFrameHolder'));
    new_iFrame_doc = (new_iFrame.contentWindow || new_iFrame.contentDocument);
    if(new_iFrame_doc.document)new_iFrame_doc=new_iFrame_doc.document;
    new_iFrame_body = new_iFrame_doc.body;
    if(new_iFrame_body.innerHTML != 'Loaded?')
    {
        //The world explodes!!!
        alert('you just blew up the world!  Way to go!');
    }
    else
    {
        alert('wow, you did it!  Way to go!');
    }
}
var iFrameLoaded = false;
function onlyThingYouCanChange(objectToAppendIFrameTo)
{
    iFrameLoaded …
Run Code Online (Sandbox Code Playgroud)

javascript delayed-execution

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

hstore密钥的唯一索引或约束

如果该密钥存在,我想在hstore列中的特定键上创建唯一索引或约束.我希望在另一个问题的某处可以找到答案:

PostgreSQL中表达式索引的实际限制

但我尝试了我能提出的每个版本的语法,没有任何方法可行.

目前,我的表是

hstore_table

hstore字段是hstore_value

当它们存在时,我想要强制独特的是'foo'和'bar'.

我的PostgreSQL版本是8.4.13

postgresql hstore

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

在视口中获取元素的最快方法

我正在动态创建一个非常大的 HTML 文件,其中包含任何给定计算机上的浏览器可以生成的尽可能多的元素。

然后,当用户滚动时,我需要访问实际上在视口内的某种类型(比如说 div)的元素。

我知道如何获取视口中可见元素列表的唯一方法是遍历所有元素,然后查看它们的边界是否与当前视口重叠。这样做的问题是文档中的元素太多,这个过程无法快速完成,无法让浏览器滚动。

有没有更快的方法来获取视口中的所有元素?

javascript dom

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

使用meta_query进行复杂的custom_field搜索

背景

我使用Advanced Custom Fields Pro管理我的自定义字段,它们有一个"repeater"字段,其中包含存储的子字段,repeatername_X_fieldname其中X是转发器的行号.

我有一个自定义的帖子类型student,attendance其中包含date和包含的转发器class.

因此,当学生上课时,它将按如下方式存储他们的出勤率

  • meta_key: 'attendance_X_date' meta_value: '20170701'
  • meta_key: 'attendance_X_class' meta_value: '历史101'

为了搜索任何已经去过某个班级或在某个日期范围内就读的学生,我必须挂钩get_meta_sql并将我转换meta_query为使用LIKE而不是=当值包含时%

function key_rewrite($parts){
    foreach($parts as &$part){
        $part = preg_replace("/(meta_key = )(\'[^']*[%][^']*\')/", "meta_key LIKE $2", $part);
    }
    return $parts;
}
add_action( 'get_meta_sql', 'key_rewrite');
Run Code Online (Sandbox Code Playgroud)

这让我可以做类似的事情

$args = array(
    'post_type' => 'student',
    'meta_query' => array(
        array(
            'key'=>'attendance_%_class',
            'compare'=>'=',
            'value'=>'History 101'
        )
    )
);
$my_query = …
Run Code Online (Sandbox Code Playgroud)

wordpress custom-fields advanced-custom-fields

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

在 MySQL 中对密码进行加盐和散列处理

我正在寻找一种使用盐存储和验证 mysql 密码的方法。我无法访问 PHP 或任何其他加密软件。我知道 PASSWORD() 函数,但这不允许使用盐。

还有其他选择吗?

mysql passwords cryptography

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

Node/Busboy:获取文件大小

我使用 busboy 模块通过下面的 coffeeScript 代码解析多部分请求。有时,问题是针对包含一个文件的请求多次调用“数据”处理程序。这意味着我需要对每个尺寸求和才能计算出整个尺寸。除了 on 'file' 处理程序中的文件对象似乎不包括大小信息。

如何在不计算每个部分的情况下获得整个尺寸?

提前致谢-

busboy.on 'file', (fieldname, file, filename, encoding, mimetype) ->
  filename = "#{Meteor.uuid()}.jpg"
  dir = "#{HomeDir()}/data/profile"
  saveTo = path.join dir, filename
  file.pipe fs.createWriteStream saveTo
   files.push
     filename: filename
     path: saveTo
     fileSize: data.length
  file.on 'data', (data) ->
    # this data handler called several times 
    files.push
      filename: filename
      path: saveTo
      fileSize: data.length    
  file.on 'end', ->
    console.log 'file finished'
Run Code Online (Sandbox Code Playgroud)

node.js coffeescript busboy

4
推荐指数
2
解决办法
5191
查看次数

如何在C#中使用axWindowsMediaPlayer跳转X秒

我正在使用axWindowsMediaPlayer,我有一个视频加载,但我想跳X秒.因此,例如,如果当前时间是视频的1分钟,我想跳到1分10秒.

c# video winapi windows-media-player axwindowsmediaplayer

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

使用Notepad ++(NppFTP)无法将SFTP导入AWS

我使用Amazon AMI设置了一个EC2实例(我相信基于redhat/centos)我设置了我的安全配置文件以允许22,并验证它是否有效,因为我可以使用putty和我创建的ppk来正常SSH.

另一方面,SFTP是不行的.当我尝试SFTP时,我得到以下响应:

连接
[SFTP]主机键接受
[SFTP]成功认证
[SFTP]错误初始化SFTP:收到代替SSH_FXP_VERSION 115个消息
无法连接
断开

当然,谷歌几乎没有任何帮助.有什么想法吗?

sftp notepad++ amazon-ec2 amazon-web-services ec2-ami

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