小编Jon*_*Jon的帖子

通过JavaScript检测搜索爬虫

我想知道如何检测搜索爬虫?我问的原因是因为如果用户代理是机器人,我想要禁止某些JavaScript调用.

我找到了一个如何检测某个浏览器的示例,但是找不到如何检测搜索爬虫的示例:

/MSIE (\d+\.\d+);/.test(navigator.userAgent); //test for MSIE x.x

我想阻止的搜索抓取工具示例:

Google 
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) 
Googlebot/2.1 (+http://www.googlebot.com/bot.html) 
Googlebot/2.1 (+http://www.google.com/bot.html) 

Baidu 
Baiduspider+(+http://www.baidu.com/search/spider_jp.html) 
Baiduspider+(+http://www.baidu.com/search/spider.htm) 
BaiDuSpider 
Run Code Online (Sandbox Code Playgroud)

javascript bots web-crawler

43
推荐指数
4
解决办法
3万
查看次数

修改选择所以只有第一个是灰色的

我有一个select元素,并使用第一个option作为选择字段的标题.我想知道当select选择第一个选项时是否有办法使字段内的文本变灰.这只能在JS中完成,还是有CSS解决方案?

我尝试更改第一个的样式,option但只有在激活下拉菜单时才会更改文本的颜色.

<select>
  <option>Please select your favourite fruit</option>
  <option>Apple</option>
  <option>Banana</option>
</select>
Run Code Online (Sandbox Code Playgroud)

html css

32
推荐指数
3
解决办法
7万
查看次数

插入跨度后合并文本节点

我有一个扩展,我存储/检索用户选择的DOM结构的一部分(总是在屏幕上选择文本).当我存储选择时,我将该部分包含在SPAN标记中,并以黄色突出显示该文本.这会导致所选文本周围的DOM结构拆分为各种文本节点.这对我来说是一个问题,因为当我尝试恢复此选择(没有刷新页面)时,它会导致问题,因为DOM结构已被修改.

我的问题是如何在插入SPAN后阻止DOM结构拆分?如果无法实现这一点,在将SPAN标记移至其原始状态后,如何重新组合DOM结构?

//Insert the span
var sel = restoreSelection(mootsOnPage[i].startXPath);
var range = sel.getRangeAt(0).cloneRange();
var newNode = document.createElement('span');
newNode.className = 'highlightYellow';
range.surroundContents(newNode); 


//Original DOM structure
<p>Hello there, how are you today</p>


//What the DOM looks like after insertion of SPAN
<p>
  "Hello there, "
  <span class="highlightYellow">how</span
  " are you today"
</p>
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-chrome-extension

28
推荐指数
3
解决办法
7077
查看次数

如何在Symfony 2中模拟500错误

我想知道如何在Symfony 2中模拟500错误.

我一直在读这篇文章,其中Raise建议抛出异常

抛出新的sfException('测试500错误');

在Symfony 1.4中.

我一直把这个代码放在我的

\store\vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\Controller\ExceptionController.php
Run Code Online (Sandbox Code Playgroud)

但我得到了致命的错误

在第49行的/home/notroot/www/store/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php中找不到类'Symfony\Bundle\TwigBundle\Controller\sfException'

第49行引用我添加的异常代码.

我的问题是,如果在Symfony 2中强制出现500错误,抛出异常仍然可行,如果是这样,我在哪里放置此异常?

如果这不再可行,我怎么能测试错误500?

symfony

22
推荐指数
2
解决办法
2万
查看次数

Div背景图像Z-Index问题

我试图让我的内容的背景图像出现在页眉和页脚的后面.目前,内容背景的顶部是伸出标题,你可以看到底部略微覆盖了页脚(注意页脚边框颜色的轻微变化).我已经尝试过设置应用于z-index:-100;有效的内容,但也使文本无法选择.然后我尝试应用于z-index:1;内容,但这并没有使内容显示在页眉/页脚下.

链接到网站

在此输入图像描述

//html
<div id="wrapper">
    <header>
        <div id="logo"></div>
        <nav>
            <ul>
                <li id="aboutNav"><a href="template.html">home</a></li>
                <li id="menuNav"><a href="">menu</a></li>
                <li id="specialsNav"><a href="">specials</a></li>
            </ul>
        </nav>  
    </header>
    <div id="content">
        content <br> goes <br> here <br>
        <a href="http://www.google.ca" target="_blank">google</a>
    </div>
</div>
<footer>
    <div id="thumbsDesc"></div>
    <div id="thumbs"></div>
</footer>



//css
header {
    width: 100%;
    height: 100px;
    background: url(../img/top.png) repeat-x;
    z-index: 110;
}

#wrapper #content {
    color: #FFFFFF;
    background: url(../img/body.png) repeat-y;
    width: 524px;
    padding: 25px 30px 25px 30px;
    position: absolute;
    bottom: 100px;
    top: 90px;
    margin: …
Run Code Online (Sandbox Code Playgroud)

html css

21
推荐指数
2
解决办法
11万
查看次数

PHP Elseif三元运算符

我试图将以下代码转换为三元运算符,但它不起作用,我不确定为什么.我认为我的问题是我不知道如何以elseif三元格式表达操作.从我的理解和使用格式elseifif操作执行相同的方式: (condition) ? 'result'.

if ($i == 0) {
    $top = '<div class="active item">';
} elseif ($i % 5 == 0) {
    $top = '<div class="item">';
} else {
    $top = '';
}

$top = ($i == 0) ? '<div class="active item">' : ($i % 5 == 0) ? '<div class="item">' : '';
Run Code Online (Sandbox Code Playgroud)

php

21
推荐指数
3
解决办法
2万
查看次数

如何将参数传递给array.map()?

我正在尝试将值映射到一个函数,该函数将接受两个数字来乘以但是这样做有困难(如果这没有意义,请看下面的示例).

我有一个数组,我想加倍/三倍/四倍......这个数组的值.我创建功能,将做到这一点,我喂这些double()triple()map().

var arr = [1, 2, 3, 4, 5];

function double(num) {
  return num * 2;
}

function triple(num) {
  return num * 3;
}

console.log( arr.map(double) );
console.log( arr.map(triple) );
Run Code Online (Sandbox Code Playgroud)

这个解决方案是不可扩展的,如果我想将值乘以5或10?我需要一个更抽象的函数来获取乘法的参数.我很困惑如何做到这一点.我到目前为止的尝试是:

var arr = [1, 2, 3, 4, 5];

function multiply(num, multiplyBy) {
  return num * multiplyBy;
}

console.log( arr.map(multiplyBy(4) ); // Uncaught TypeError: NaN is not a function
Run Code Online (Sandbox Code Playgroud)

我将如何传递multiply()multiplyBy参数?

javascript

20
推荐指数
3
解决办法
6002
查看次数

Chrome扩展程序 - 设置页面上的扩展程序图像

我试图找出如何获取我们的扩展的图像/图标,以显示在Settings-> Extensions页面上.我查看了清单api,但我发现与此相关的最接近的事情是包含"图标",但这些图标无效.

在此输入图像描述

icons google-chrome-extension

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

IE替代列计数和列间隙

我想知道是否有IE替代使用column-countcolumn-gap

发表了一篇关于创建列表的文章,该列表为每个第五个元素自动创建一个新列.Leniel建议,使用的解决方案column-count,并column-gap但这不支持IE.我正在寻找一个后备解决方案.

css internet-explorer

15
推荐指数
1
解决办法
3万
查看次数

背景图像伸展Div的100%高度

我有一个容器,根据动态放置在其中的文本数量,它将在高度上增长/缩小.当容器改变高度时,容器将具有需要拉伸/收缩的背景图像,并且不能以任何方式裁剪该图像.我想知道如何.container让背景图像保持100%的div.

我尝试了以下,但它似乎没有工作:

.container { background: url('backgroundImage.jpg') 0 100% no-repeat; }
Run Code Online (Sandbox Code Playgroud)

HTML结构示例:

<div class="container">
  <p class="text">This is a short container</p>
</div>

<div class="container">
  <p class="text">This<br> is<br> a<br> tall<br> container</p>
</div>
Run Code Online (Sandbox Code Playgroud)

html css

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