小编Lea*_*yes的帖子

更改没有重定向的响应URL

是否可以在不执行重定向的情况下更改响应URL?

故事稍长......

由于HTML表单的限制,以下操作无效,因为操作URL中的查询字符串未提交给服务器:

<?php // handler.php ?>
...
<form action="handler.php?lost=value" method="get">
    <input type="text" name="filter-keyword" value="" />
    <input type="submit" name="do-submit" value="Submit" />
</form>
...
Run Code Online (Sandbox Code Playgroud)

所以我决定切换到使用post方法并创建一个单独的过滤器处理程序脚本,它只是为"handler.php"文件构造正确的查询字符串.

<?php // handler.php ?>
...
<form action="filter-handler.php" method="post">
    <input type="hidden" name="preserve-qs" value="lost=value" />
    <input type="text" name="filter-keyword" value="" />
    <input type="submit" name="do-submit" value="Submit" />
</form>
...

// filter-handler.php
<?php
    $new_url = 'handler.php?filter-keyword=' . $_POST['filter-keyword'];
    if (isset($_POST['preserve-qs']) && $_POST['preserve-qs'] != '')
        $new_url .= '&' . $_POST['preserve-qs'];

    header("Location: $new_url");
?>
Run Code Online (Sandbox Code Playgroud)

是否可以在不执行重定向的情况下实现此目的?

// filter-handler.php
<?php
    $qs_args = array(
        'filter-keyword' => …
Run Code Online (Sandbox Code Playgroud)

html php forms

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

CSS相邻选择器/含义

以下选择器是什么意思?

.a .b + .c .d { ... }
Run Code Online (Sandbox Code Playgroud)

意图(以及它似乎起作用的方式):选择与d内部c相邻的b内部a

/* Brackets to hide ambiguity */
(.a .b + .c) .d
Run Code Online (Sandbox Code Playgroud)

这是正确使用邻接兄弟选择器吗?+CSS语法中的运算符优先级是什么?

css css-selectors

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

不同寻常的if(a in b)JavaScript语法?

我刚刚偶然发现了以下网页,并对使用该in关键字感到有些兴趣.

http://diveintohtml5.ep.io/examples/input-autofocus-with-fallback.html

  • 这是有效的JavaScript吗?
  • 所有浏览器都接受这个吗?
  • 它是如何实际工作的?

当Web浏览器不支持该autofocus属性时,它们使用此语法进行回退.所以这会让我相信这种语法是有效的.

javascript syntax

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

iPhone上的HTML5 Canvas在touchstart/mousedown事件中突出显示

每当触摸(并保持)画布时,它都会以较暗的颜色突出显示.触摸释放后,恢复正常.它不像文本选择,它与iPhone在超链接上使用的亮点相同.

我使用jQuery来绑定事件:

$('canvas').bind('mousedown touchstart', function(e) {
    var c = $(this), offset = c.offset();
    var touch = {
        x: (e.targetTouches ? e.targetTouches[0].pageX : e.pageX) - offset.left,
        y: (e.targetTouches ? e.targetTouches[0].pageY : e.pageY) - offset.top
    };

    testApp.lastTouch = touch;

    return false;
});
Run Code Online (Sandbox Code Playgroud)

当应用程序保存到"主屏幕"时,问题会更严重.当触摸画布的边缘时,它确实发生在Web浏览器中,但是在主屏幕应用程序上,它无论触摸的是哪个画布都可以.

可能是这个问题的原因是什么?

iphone jquery html5 canvas

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

对于受git控制的php脚本,"可编组"异常

我正在开发一个使用许多PHP脚本实现的网站.整个网站是一个在专用Apache服务器上运行的git存储库.服务器将向全世界提供网站,但不包含任何经销商子帐户/经销商帐户.

检查错误日志后,我看到以下内容:

SoftException in Application.cpp:256: File "/home/test/public_html/t.php" is writeable by group
Run Code Online (Sandbox Code Playgroud)

似乎该权限g+w阻止PHP脚本执行,并简单地将"500 Internal Server Error"页面抛回Web浏览器.每次从git存储库中提取脚本时脚本都会自动获取权限g+x.

我该怎么办?

  1. 禁用suEXEC?这似乎没有帮助.

  2. 有没有办法禁用"按组写可写"要求?那会不够呢?

  3. 以某种方式配置git不添加g+w权限?

  4. 别的什么?

php apache git suexec

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

PDO和多重查询/并发问题

在PHP中,我使用PDO与数据库进行交互。通常发生的一个过程包括多个查询(几个SELECT和UPDATE)。这在大多数情况下都有效,但是有时在两个(或多个)过程实例同时运行的地方数据会损坏。

解决此问题的最佳方法是什么?理想情况下,我想要一个适用于大多数PDO驱动程序的解决方案。

php database concurrency pdo

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

命令`phpdoc`整个目录?

命令行将为整个项目生成phpdoc是什么?

目录结构

/Users/macuser/Sites/my-project/
    index.php
    config.php
    includes/
        class/
            test.class.php
        include-a.php
    docs-go-in-here/
Run Code Online (Sandbox Code Playgroud)

我已经安装了PEAR phpdoc并且能够为单个php文件创建文档,我无法找到如何执行整个目录.

php phpdoc

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

立即启动AJAX请求,但确保在添加元素之前已加载页面?

我发现在<head>我的网页部分提交一个AJAX请求可以避免页面加载时出现微小的闪烁(加载时突然添加了AJAX加载的内容).可以理解的是,当AJAX请求需要更长时间时,仍然需要对其进行改进以改善视觉外观,但是大多数情况下这已经在访问者浏览器缓存中.

例:

<!DOCTYPE html>
<html lang="en">
<head>
    ...

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
    $.get('{{jsonDataUrl}}', function(data) {
        foo(data);
    });
    </script>
Run Code Online (Sandbox Code Playgroud)

虽然这似乎表现得很好但我担心AJAX响应可能会在页面加载完成之前回复.从概念上讲,我认为需要以下类似的东西:

$.get('{{jsonDataUrl}}', function(data) {
    // AJAX data received, wait until page has finished loading...
    var id = setInterval(function() {
        if (window.hasPageLoaded === true) {
            clearInterval(id);
            foo(data);
        }
    }, 0);
});

$(document).ready(function() {
    window.hasPageLoaded = true;
});
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来确保页面在执行之前已完成加载foo(data)

javascript ajax jquery html5

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

如何使用jQuery选择每个组中的第一个元素?

给出以下HTML输入:

<p>A</p>
<p>B</p>
<p>C</p>
<div>D</div>
<p>E</p>
<p>F</p>
<p>G</p>
Run Code Online (Sandbox Code Playgroud)

我可以使用以下选择B,C,FG:

$('p + p')
Run Code Online (Sandbox Code Playgroud)

如何选择AE

$('???').each(function() {
    var restOfGroup = $(this).next('p');
});
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

与断言(assert.ok)相比,assert.equal有什么优势吗?

在这个问题中,我指的是Node.js 核心中包含的断言模块。

据我所知,以下两个断言几乎相同:

assert.equal(typeof path, "string", "argument 'path' must be a string");
assert(typeof path === "string", "argument 'path' must be a string");
Run Code Online (Sandbox Code Playgroud)

失败时,两种变体都会报告相同的消息:

AssertionError: argument 'path' must be a string
Run Code Online (Sandbox Code Playgroud)

在这种情况下,前者相对于后者有什么显着的优势吗?

assert node.js

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

隐藏除了另一个特定程序集之外的所有内容

我有两个类库"MyLibrary.dll"和"MyLibraryEditor.dll"用于Unity运行时和编辑器扩展."MyLibrary.dll"中有几个类成员仅供"MyLibraryEditor.dll"使用.

我的第一个想法是使用internal关键字,因为我错误地认为这限制了命名空间的可见性.相反,很明显,此关键字限制了程序集的可见性.

在不损害性能的情况下,将对某些类成员的访问限制为"MyLibrary.dll"和"MyLibraryEditor.dll"的最佳方法是什么?此外,反思不是一种选择.

我很高兴根本不记录这些功能,但不幸的是,Intellisense(和MonoDevelop的等价物)展示了这些成员.

c# dll mono unity-container monodevelop

0
推荐指数
1
解决办法
567
查看次数

与DITA的关系

我试图在选择的概念文件之间建立关系.因此,给定三个文档"A","B"和"C",我希望它们各自显示如下内容:

一个 ...

相关概念

  • C

由于某种原因,以下不起作用:

<reltable>
    <relrow>
        <relcell>
            <topicgroup collection-type="family">
                <topicref href="topics/a.dita" type="concept"/>
                <topicref href="topics/b.dita" type="concept"/>
                <topicref href="topics/c.dita" type="concept"/>
            </topicgroup>
        </relcell>
    </relrow>
</reltable>
Run Code Online (Sandbox Code Playgroud)

以下工作,但这肯定是不正确的:

<reltable>
    <relrow>
        <relcell>
            <topicgroup collection-type="family">
                <topicref href="topics/a.dita" type="concept"/>
                <topicref href="topics/b.dita" type="concept"/>
                <topicref href="topics/c.dita" type="concept"/>
            </topicgroup>
        </relcell>
        <relcell>
            <topicgroup collection-type="family">
                <topicref href="topics/a.dita" type="concept"/>
                <topicref href="topics/b.dita" type="concept"/>
                <topicref href="topics/c.dita" type="concept"/>
            </topicgroup>
        </relcell>
    </relrow>
</reltable>
Run Code Online (Sandbox Code Playgroud)

我正在使用XMLMind 的开源DITA转换器.

xml documentation dita

0
推荐指数
1
解决办法
353
查看次数