首先,我对这方面的专业兴趣不感兴趣.我是一名网络开发人员,我最近离开Spotify的同事,并表示他将主要使用JavaScript为Spotify桌面应用程序工作.他说它使用"Chrome框架",内部的所有内容都像网络应用程序(HTML/JS/CSS)一样.
作为一个从未为Desktop构建任何东西的Web开发人员,这是个好消息.如果我可以使用我已经知道的技术并在某种"框架"内实现它们,并且仍然能够构建一个窗口或更好的跨平台应用程序.
我知道我没有提到有关数据库的任何内容,但即使是一个简单的hello world桌面应用程序也可以使用Web技术.
那怎么一个呢?究竟我需要/需要知道什么?
我正在一个拥有大量嵌入式YouTube视频的网站上工作,客户希望在视频停止播放时显示弹出窗口.
我查看了youtube api,似乎有办法检测视频何时结束:
http://code.google.com/apis/youtube/js_api_reference.html
但我无法嵌入他们在该页面上提到的视频,因为视频已经在网站上(数千个已通过粘贴嵌入代码手动添加).
有没有办法在不更改任何现有视频的情况下检测这些视频的结尾(使用javascript)?
ls existIE7中的以下代码警报:
if(window.localStorage) {
alert('ls exists');
} else {
alert('ls does not exist');
}
Run Code Online (Sandbox Code Playgroud)
IE7并不真正支持本地存储,但这仍然会提醒它.也许这是因为我在IE7浏览器中使用IE9并使用IE9开发人员工具进行文档模式.或者这可能是测试LS是否支持的错误方法.什么是正确的方法?
此外,我不想使用Modernizr,因为我只使用了一些HTML5功能,加载一个大脚本不值得它只是为了检测对这些事情的支持.
当我对一个名为$ tags(多维数组)的变量进行var_dump时,我得到了这个:
Array
(
[0] => Array
(
[name] => tabbing
[url] => tabbing
)
[1] => Array
(
[name] => tabby ridiman
[url] => tabby-ridiman
)
[2] => Array
(
[name] => tables
[url] => tables
)
[3] => Array
(
[name] => tabloids
[url] => tabloids
)
[4] => Array
(
[name] => taco bell
[url] => taco-bell
)
[5] => Array
(
[name] => tacos
[url] => tacos
)
)
我想将名为"url"的所有数组键重命名为"value".这样做有什么好办法?
这给了我主窗口左边缘的一些元素的位置:
$('#bar').offset().left;
Run Code Online (Sandbox Code Playgroud)
如果该元素位于其他元素内部并且我希望#bar的位置相对于#foo(它的父元素),我该怎么做?
<style>
#foo { width: 200px; margin: 0 auto; }
#foo #bar { width: 50px; margin: 0 auto; }
</style>
<div id="foo">
<span id="bar"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
我看到有一个函数被调用,offsetParent()但是当控制台记录时,它看起来似乎没有任何名为left或的属性x.所以不确定是否可以用它来获得我需要的东西.
所以在我上面的例子中,偏移量应该是距离父边缘大约125像素的距离,而不是主窗口边缘的几千个像素.
现在我正在使用这个:
function is_retina_device() {
return window.devicePixelRatio > 1;
}
Run Code Online (Sandbox Code Playgroud)
但它的简单性让我感到害怕.有更彻底的检查吗?
我是PHP新手,这也是我的第一个登录系统,所以如果你们可以查看我的代码,看看你是否能发现任何安全漏洞,那将是很棒的:
注意:虽然此处未显示,但我正在清理所有用户输入.
第1步:我获取用户选择的密码并通过此功能运行它:
encrypt($user_chosen_password, $salt);
function encrypt($plain_text, $salt) {
if(!$salt) {
$salt = uniqid(rand(0, 1000000));
}
return array(
'hash' => $salt.hash('sha512', $salt.$plain_text),
'salt' => $salt
);
}
Run Code Online (Sandbox Code Playgroud)
第2步:然后我将哈希和salt($password['hash']和$password['salt'])存储在数据库的users表中:
id | username | password | salt | unrelated info...
-----------------------------------------------------------
1 | bobby | 809a28377 | 809a28377f | ...
fd131e5934
180dc24e15
bbe5f8be77
371623ce36
4d5b851e46
Run Code Online (Sandbox Code Playgroud)
步骤1:我获取用户输入的用户名并查看数据库以查看是否返回了任何行.在我的网站上,没有2个用户可以共享相同的用户名,因此用户名字段始终具有唯一值.如果我返回1行,我会抓住该用户的盐.
步骤2:然后我通过加密功能运行用户输入的密码(如上所述),但这次我还提供从数据库检索到的盐:
encrypt($user_entered_password, $salt);
Run Code Online (Sandbox Code Playgroud)
第3步:我现在有一个正确的密码来匹配这个变量:$password['hash'].所以我在数据库上进行第二次查找,看看输入的用户名和散列密码是否一起返回一行.如果是,那么用户的凭证是正确的.
步骤4:为了在用户凭证通过后记录用户,我生成一个随机唯一字符串并对其进行哈希处理:
$random_string = uniqid(rand(0, 1000000));
$session_key = hash('sha512', …Run Code Online (Sandbox Code Playgroud) 我需要在ImageMagick或GD库之间进行选择,以执行以下图像处理任务:
如你所见,我不需要任何花哨的东西.我确信这两个工具都可以实现它们,所以如果一个人有比另一个更多的额外功能,我真的不在乎.
我主要关心的是性能和质量.这两种工具中哪一种消耗的资源更少,速度更快,产生更高质量的图像?
PS我需要将它与各自的PHP API一起使用.
这不起作用:
$string = 'Hello
world';
if(strpos($string, '\n')) {
echo 'New line break found';
}
else {
echo 'not found';
}
Run Code Online (Sandbox Code Playgroud)
显然因为字符串中没有"\n"字符.但是我怎么能检查是否存在换行符,这是用户在表单字段中按Enter键的结果?
默认情况下,我想给我的body元素一个绿色边框.在支持视网膜显示的设备上,我想首先检查尺寸.在ipad上我想给我的身体一个红色边框,在iphone上我想给它一个蓝色边框.但是像这样嵌套媒体查询不起作用:
body { border: 1px solid green; }
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
@media (max-width: 768px) and (min-width: 320px) {
body { border: 1px solid red; }
}
@media (max-width: 320px) {
body { border: 1px solid blue; }
}
}
Run Code Online (Sandbox Code Playgroud) javascript ×5
php ×4
css ×2
html ×2
jquery ×2
actionscript ×1
api ×1
encryption ×1
flash ×1
gd ×1
html5 ×1
imagemagick ×1
login ×1
security ×1
youtube ×1