小编Ser*_*gio的帖子

处理同一URL中的多个版本

我正在尝试做的是处理同一个Web应用程序的多个版本,有点像谷歌与他们的一些产品,你得到"尝试新版本"链接.

目标是同时拥有webapp的"稳定"版本和"beta"版本,并让用户试用新功能而不必强迫它们(以及它们的错误).

现在,一种非常简单的方法是将每个版本放在自己的子文件夹中,例如www.mywebapp.com/v1和www.mywebapp.com/v2.

但是,我希望这对用户和webapp URL保持透明以保持不变(例如:www.mywebapp.com/).

在用户登录后确定必须加载哪个版本的服务器端(例如:给定用户的活动版本存储在DB中),并且可以在用户点击"尝试新版本"/"go时更改回到旧版本"链接.

在服务器端,我必须使用MySQL,PHP和Apache.

我已经设法让这个工作将每个版本放入它自己的子文件夹,然后将版本信息存储在cookie中(在每次登录或页面刷新时由服务器更新)并使用RewriteRule来"代理"来自base/versionless的请求适当子文件夹的URL.如果未设置cookie,则由后备RewriteRule选择默认文件夹.

这个kludge工作,但感觉非常脆弱,它给Apache守护进程带来了额外的负担所以我在这里问我是否有人知道更好的方法.

谢谢!

php apache ria multiple-versions

8
推荐指数
2
解决办法
579
查看次数

通过将DIV渲染到屏幕外来隐藏DIV时的性能影响

将隐藏HTML文档的复杂部分隐藏在屏幕外DIV中的性能影响如下:

<div style="position:absolute;top:-10000px;left:-10000px;">
  Lots of HTML here...
</div>
Run Code Online (Sandbox Code Playgroud)

与使用"display:none"或"visiblity:hidden"相比?

是否有性能/内存使用惩罚?有多糟糕?如果目标是移动浏览器(iPhone/Android),这是否可取?

html performance show-hide

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

突出显示ExtJS(3.x)MessageBox中的默认按钮

在Ext.MessageBox中是否有一个Ext-approction方法来突出显示默认按钮(按Enter键触发的按钮)?

请注意,我不想通过在显示MessageBox时聚焦按钮来做到这一点(如果是"提示"对话框,我希望输入元素具有焦点).

我知道我可以通过在按钮元素中添加一个自定义类来实现这一点,但是...也许有更好的,更类似Ext的方式来做到这一点?

谢谢.

extjs messagebox button

5
推荐指数
2
解决办法
5446
查看次数

PHP中的数组测试的性能问题.为什么?

快速代码(100ms):

// Mixed could theoretically be an object or an array. 
// In this example it's an array.
$mixed = array();
for($i = 0; $i < 10000; $i++) {
  if (is_array($mixed)) {
    $mixed[getRandomStr(15)] = 'abcd';
  } else {
    // Do something else which we don't care about here
  }
}
Run Code Online (Sandbox Code Playgroud)

非常慢的代码(4000毫秒):(注意$ mixed通过引用传递)

function put(&$mixed, $key, $value) {
  if (is_array($mixed)) {
    $mixed[$key] = $value;
  } else {
    // Do something else which we don't care about here
  }
}

$mixed …
Run Code Online (Sandbox Code Playgroud)

php arrays performance pass-by-reference

5
推荐指数
0
解决办法
68
查看次数

In-browser-javascript: 在什么情况下 window.open 返回 null/undefined?

我的 Web 应用程序的异常处理代码有时会报告 window.open 返回 null 或未定义。这是偶发的,我看到它在 Firefox 4.0.1 和 5.0 上发生的大部分时间,在较小程度上发生在 Chrome 上。

何时以及为什么会发生与特定浏览器相关的情况?

我听说 IE8 和 IE9 在保护模式下工作时可以做到这一点。真的吗?那么火狐呢?歌剧?铬合金?苹果浏览器?

重要笔记:

  1. window.open 直接在 onclick 事件中调用(它不会被延迟,因为这会导致大多数浏览器的弹出窗口阻止程序显示警报)。
  2. window.open 打开一个空白窗口,然后通过 javascript 操作其 HTML 内容
  3. 请不要回复告诉我“你为什么使用 window.open?为什么不做(这里的其他任何事情)”,因为这将是题外话。

javascript window

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