我在Android中运行PhoneGap应用.我需要查看浏览器日志(而不仅仅是console.log()),以便我可以看到所有错误和可能的警告.我知道这个类似的问题,但这并不能解决我的问题,因为它只处理console.log().我的应用程序在Android 1.6浏览器中崩溃,我需要了解原因.可能有一些语法细节,所有较新的Android浏览器都不介意,但1.6可能会抱怨某些东西,我需要看看是什么.
我正在使用Eclipse,所以如果可以使用它来查看浏览器错误控制台,那就太棒了.我也了解Eclipse中的LogCat工具,但它根本没有显示PhoneGap内部浏览器的任何输出.请帮忙,我迷路了;-)
首先,如果我的问题听起来有些混乱,我会道歉,我会尽力详细描述我的情景:
我有网站,用户可以输入自己的个人数据.它们主要是健康数据,因此它是非常私密和敏感的信息.因此,我需要在服务器上加密这些数据,即使服务器受到损害,这些数据也会受到保护,因为它们将使用每个用户的密码进行加密.当然,用户密码不会作为明文型文本存储在服务器上,只会存储密码哈希值.
但我的问题是,当用户可以选择与其他用户分享他/她的一些信息时,该网站将提供"社交功能".但这会有问题,因为我无法解密用户私有数据,因此无法向其他用户显示.
你能给我一些选择,或者至少是想法,怎么能解决这个问题?优选使用LAMP环境.
我想用contentEditable属性创建div,它只允许文本.使用以下方法可以在Chrome中轻松实现:
<div contenteditable="plaintext-only"></div>
Run Code Online (Sandbox Code Playgroud)
但它在Firefox中不起作用.有没有办法在Firefox中制作纯文本的contenteditable div?我知道这是可能的,因为Google Plus有这样的div,但我不知道他们是怎么做到的.
我在Android中有PhoneGap应用程序.现在我准备发布它,但我想保护应用程序免受脚本小子的注意.我首先认为这是不可能的,因为我在市场上发布应用程序时发现了"复制保护"功能.所以我很兴奋,但当我把它打开时,它实际上什么也没做.
我可以在root用户手机上安装应用程序没有问题,我可以将其复制到SD卡上并查看所有来源.我认为这种"复制保护"功能不允许有root电话的人安装应用程序.或者我错过了什么?
有没有办法如何使它至少很难,如果不是禁用它,人们在我的应用程序中看到我的所有HTML和JS源?
我想logrotate复制并截断日志文件,并在不同的物理磁盘上使用olddir.根据手册,olddir不能在不同的物理磁盘上,因为logrotate的默认行为是仅重命名原始日志文件,这对于不同的物理磁盘是不可能的.
好吧,但我正在使用copytruncate指令,它生成原始文件的副本,然后截断原始文件.因此,将新复制的文件移动到不同物理磁盘上的不同位置应该没有问题.
但是当我运行logrotate时,它仍然会抱怨logfile和olddir在不同设备上运行.
它有什么办法吗?可能运行一些自定义的postrotate脚本,将日志文件移动到所需的位置?
随着我越来越多地进入Android PhoneGap应用程序开发,我可以在整个版本中看到内置Android浏览器之间越来越多的细微差别和细节.我搜索了一些官方或粉丝文档,它们将处理这些浏览器版本差异.但我找不到任何有用的东西.
这是非常令人沮丧的,因为你必须在所有版本的Android模拟器上测试所有内容,如果应用程序变大,那么测试所有版本中的所有功能都需要做大量的工作.
每个人都对HTML5感到兴奋,我也是如此,但只是在我开始做真实的事情时.我意识到在处理Android的不同版本时,存在很多问题,有时会有很多不同.
如果有人有一些好的资源可以分享,我会非常高兴.谢谢
编辑:添加Android浏览器版本之间不同行为的示例(但有很多):
这适用于Android浏览器1.6,2.2,2.3和2.3.3.但它在Android 2.1中崩溃(应用程序崩溃或停止JS执行):
Object.keys(var).length
Run Code Online (Sandbox Code Playgroud) 我有jQuery(1.6.x)的奇怪问题.我在我的页面上有这个简单的调用:
window.onbeforeunload = function() { return 'Are you sure ?'; };
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为正如我发现的那样,jQuery会覆盖window.onbeforeunload的内容.在JS控制台中,我可以看到window.onbeforeunload包含一段jQuery代码:
function( e ) {
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
jQuery.event.handle.apply( eventHandle.elem, arguments ) : undefined;
};
Run Code Online (Sandbox Code Playgroud)
有没有办法可以找到jQuery覆盖我的onbeforeunload函数的原因和位置?当我尝试使用jQuery加载和我的onbeforeunload函数运行空的jsfiddle时,它按预期工作.
任何提示将不胜感激.提前致谢.
编辑:
为了以防万一,有人建议使用:
$(window).bind('beforeunload', function() { return 'Are you sure';} );
Run Code Online (Sandbox Code Playgroud)
我已经尝试了它,它的行为与使用纯javascript相同.
我想问一下为什么我的HTC Desire HD的浏览器会报告视口的宽度为369px,即使屏幕的实际像素大小为480x800 WVGA.
我在我的页面中使用这个CSS样式:
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
Run Code Online (Sandbox Code Playgroud)
你能解释一下这个奇怪的行为,以及如何强制Android浏览器实际将视口的宽度设置为480px而不是奇怪的369px?
感谢您的任何帮助.
我有一个非常奇怪的问题,它让我整天疯狂.我有一个简单的MySQL表,列数很少.一列是int(11)NULL.当我更新其值时,它按预期工作.但是,当我第二次更新其值时,它将被赋予"0"值.
我在我的MySQL 5.1.58-1ubuntu1和其他MySQL 5.0.96社区上测试了这种相同的行为,两者的行为完全相同.所以它显然不是一个版本MySQL的问题.
我很难解释,但我附上了两个截图,它会告诉你更好的地方.
第一个截图是我正在更新的表的结构:

这里显示了执行的SQL查询,您可以看到,第一次更新是正确的,第二次在"invoice_number"列中生成"0"值,没有任何理由:

我忽略了一些明显的东西吗 它真的让我发疯,因为它对我没有任何意义......
感谢您提前提供任何帮助......
编辑:我已经尝试在我的查询中只使用数字,这是结果(对我来说也很奇怪):

我有一个简单的导入样式表与媒体查询条件:
<style>@import url(/red.css) (min-width:400px) and (max-width:599px);</style>
Run Code Online (Sandbox Code Playgroud)
我假设浏览器不会使用甚至不下载样式表.但是,样式表会被下载(在Chrome中测试).因此我想问一下,如果有简单的纯CSS方式如何使浏览器不被媒体查询覆盖而忽略并禁止他们下载样式表.
感谢您的任何帮助.
编辑:我会重新说出我的问题.我可以使用CSS3指定应该由浏览器加载的样式表,具体取决于媒体查询条件(视口宽度)吗?
android ×4
cordova ×3
css3 ×2
html5 ×2
javascript ×2
css ×1
eclipse ×1
encryption ×1
google-play ×1
hash ×1
jquery ×1
lamp ×1
linux ×1
logging ×1
logrotate ×1
mobile ×1
mysql ×1
obfuscation ×1
security ×1
sql ×1