我有一个应用程序,它为网页提供了很长的参数列表,所以我必须使用POST而不是GET.问题是,当页面显示并且用户单击"后退"按钮时,Firefox会显示警告:
要显示此页面,Firefox必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息.
由于应用程序以这样的方式构建,即返回是一种非常常见的操作,这对最终用户来说真的很烦人.
基本上,我想按照这个页面的方式来做:
http://www.pikanya.net/testcache/
输入内容,提交,然后单击"上一步"按钮.没有警告,它只是回去了.
谷歌搜索我发现这可能是Firefox 3中的一个错误,但我想以某种方式获得这种行为,即使他们"修复"它.
我想这可能是一些HTTP标题可行,但究竟是哪个?
我有一个JavaScript来处理检测页面是否在框架中.我使用top.frames []等,一切正常.
在这个脚本中,我注意到我可以互换地使用"窗口"或"自我",一切仍然有效.在HTML页面中使用"窗口"是否与"self"相同?
在我工作的团队中,我们有一个旧的代码库,使用PHP的ibase_*函数在整个代码中与数据库进行通信.我们创建了一个包装器,它除了调用原始函数之外还会执行其他操作,我在整个代码中进行了大量搜索替换,以确保使用包装器.
现在,我们如何防止将来使用ibase_*功能?
我希望仍然可以使用它们,但是当它被使用时,它会发出通知或警告.
纯PHP的解决方案(不需要编译自定义版本的PHP)是首选.
我有这样的代码:
class MapIndex
{
private:
typedef std::map<std::string, MapIndex*> Container;
Container mapM;
public:
void add(std::list<std::string>& values)
{
if (values.empty()) // sanity check
return;
std::string s(*(values.begin()));
values.erase(values.begin());
if (values.empty())
return;
MapIndex *mi = mapM[s]; // <- question about this line
if (!mi)
mi = new MapIndex();
mi->add(values);
}
}
Run Code Online (Sandbox Code Playgroud)
我关注的主要问题是,如果将新项目添加到地图中,mapM [s]表达式是否会返回对NULL指针的引用?
的SGI文档这样说:DATA_TYPE&运算符[](常量为key_type&K)返回到与特定键相关联的对象的引用.如果映射尚未包含此类对象,则operator []将插入默认对象data_type().
所以,我的问题是插入默认对象data_type()是否会创建一个NULL指针,还是会创建指向内存中某处的无效指针?
我已经实现了jQueryUI可排序列表,它的工作非常好.在某个时间点,我希望禁用进一步排序并按原样保留项目顺序,而无需用户更改它.
它尝试了这样的事情:
$('.sortable').sortable('disable');
Run Code Online (Sandbox Code Playgroud)
还有这个:
$('.sortable').each(function() { $(this).sortable('disable'); });
Run Code Online (Sandbox Code Playgroud)
和:
$('.sortable').disable();
Run Code Online (Sandbox Code Playgroud)
和:
$('.sortable').cancel();
Run Code Online (Sandbox Code Playgroud)
以及所有这些的各种组合.一切都没有成功.
任何人都可以告诉Ne Right Way ™这样做吗?
更新:我正在使用jQuery 1.3.2和jQueryUI 1.7.2.一个可能的问题可能是我在页面上有两个独立的可排序列表,所以我有sortable1和sortable2类.我其实在做:
$('.sortable2').sortable('disable');
Run Code Online (Sandbox Code Playgroud)
Update2:问题是我使用.sortable而不是#sortable.现在一切都很好.
我在服务器上有一个PHP脚本将文件发送给配方:它们获得一个唯一的链接,然后他们可以下载大文件.有时传输出现问题,文件已损坏或永不完成.我想知道是否有更好的方法来发送大文件
码:
$f = fopen(DOWNLOAD_DIR.$database[$_REQUEST['fid']]['filePath'], 'r');
while(!feof($f)){
print fgets($f, 1024);
}
fclose($f);
Run Code Online (Sandbox Code Playgroud)
我见过的功能如
http_send_file
http_send_data
Run Code Online (Sandbox Code Playgroud)
但我不确定他们是否会奏效.
解决这个问题的最佳方法是什么?
问候
erwing
我正在学习编写TCL(期望)脚本,我注意到一些示例显示使用spawn,而其他示例显示命令exec.我试过谷歌搜索,但找不到有什么区别?
假设我在一个长期预期脚本的中间调用'exec',我可以期待发生什么?
我发现git docs在这个问题上非常神秘.我想做一件简单的事情,但似乎这样做并不简单.
我有以下情况:
$ git remote -v
origin git://192.168.0.49/mnt/repos
stick /mnt/titanium/podaci/repos
Run Code Online (Sandbox Code Playgroud)
我可以使用git pull从原点获取和合并,这样可以正常工作:
$ git pull
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
我可以像这样从棍子里拉出来:
$ git pull stick master
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
但是,当我从没有主要部分的棍子拉出来时,我得到这样的信息:
$ git pull stick
From /mnt/titanium/podaci/repos
* [new branch] su2009 -> stick/su2009
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me either. Please
name which branch you want to …
Run Code Online (Sandbox Code Playgroud) 它需要是图形化的.没有sed,awk,grep,perl,等等.我知道如何使用它们,我现在使用它们,但我需要在300多个文件中挑选每个替换.
我想要一个工具,我可以:
它将以递归方式进入该目录及其子目录中的每个文件,打开它并滚动到搜索字符串所在的位置,并提供两个选项:
而已.Reg.exp.支持是一个加号,但不是必需的.
解决:Regexxer正是我所需要的.万一有人需要它在Slackware上,这里是你需要下载什么以及如何编译它(选择每个相关的正确版本可以是一个PITA)
PHP的mkdir函数只返回true和false.问题是它何时返回false.
如果我在启用错误报告的情况下运行,我会在屏幕上看到错误消息.我还可以在Apache日志中看到错误消息.但我想抓住消息的文本并用它做其他事情(例如通过IM发送给我自己).我如何获得错误文本?
更新:遵循艾曼的想法,我来到这里:
function error_handler($errno, $errstr) {
global $last_error;
$last_error = $errstr;
}
set_error_handler('error_handler');
if (!mkdir('/somedir'))
echo "MKDIR failed, reason: $last_error\n";
restore_error_handler();
Run Code Online (Sandbox Code Playgroud)
但是,我不喜欢它,因为它使用全局变量.想要更清洁的解决方案吗?
php ×4
c++ ×1
constructor ×1
deprecated ×1
download ×1
exec ×1
expect ×1
forms ×1
git ×1
git-branch ×1
http-headers ×1
javascript ×1
jquery ×1
jquery-ui ×1
map ×1
mkdir ×1
pointers ×1
post ×1
replace ×1
scripting ×1
search ×1
spawn ×1
tcl ×1
text-editor ×1
window ×1