小编spl*_*ter的帖子

在Chrome中加载页面上的Popstate

我正在为我的网络应用程序使用History API,但有一个问题.我执行Ajax调用以更新页面上的一些结果并使用history.pushState()来更新浏览器的位置栏而不重新加载页面.然后,当然,我使用window.popstate来恢复单击后退按钮时的先前状态.

问题是众所周知的 - Chrome和Firefox以不同的方式对待popstate事件.虽然Firefox没有在第一次加载时启动它,但Chrome确实如此.我想拥有Firefox风格并且不会在加载时触发事件,因为它只是在加载时使用完全相同的结果更新结果.除了使用History.js之外是否有解决方法?我不想使用它的原因是 - 它本身需要太多的JS库,因为我需要在已经有太多JS的CMS中实现它,我想最小化JS我放入它.

所以,想知道是否有办法让Chrome不加载'popstate'加载,或者有人试图使用History.js,因为所有库一起混合成一个文件.

html5 google-chrome javascript-events browser-history

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

CSS预处理器,可以在@media查询中定义变量

目前,我使用LESS作为我的主要CSS预处理器.我(我相信很多人都有这个需要)在@media查询中定义变量,如:

@media screen and (max-width: 479px) {
    myVar: 10px;
}
@media screen and (min-width: 480px) and (max-width: 767px) {
    myVar: 20px;
}
@media screen and (min-width: 768px) {
    myVar: 30px;
}

.myElement {
    padding: @myVar;
}
Run Code Online (Sandbox Code Playgroud)

这在LESS中不起作用,因为编译性质(@myVar仅在每个特定范围内定义@media,但不是全局定义).即使我@myVar在媒体查询之前全局定义,它也不会根据媒体查询进行更新,.myElement无论如何都会获得初始值.

所以,问题是,是否有可能在任何其他CSS预处理器中实现这一点,或者我们注定要覆盖.myElement每个媒体查询中的内容?这个最简单的例子不是问题,但在实际项目中,这可以节省大量时间和复制/粘贴.

编辑: 不是解决方案,而是我的特定项目的解决方法:

  1. 将font-size设置<html>为基本字体大小
  2. myVar定义LESS变量rem而不是px基本字体大小的衍生
  3. 使用@media查询调整不同媒体的基本字体大小.
  4. 可选使用REM单元polyfill用于浏览器,但尚不支持rem(http://caniuse.com/#search=rem).这在IE 8及更低版本中不起作用,但不是因为缺乏支持rem- 它不支持媒体查询.所以IE8及以下版本无论如何都可以获得全尺寸无媒体查询样式表.

代码段: …

css sass less media-queries

11
推荐指数
3
解决办法
3197
查看次数

具有内联SVG的响应式剪辑路径

在具有背景的元素上(图像或纯色并不重要):

<header id="block-header"></header>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用SVG应用剪辑路径.为了实现这一点,我将SVG内联到这样的相同元素中:

<header id="block-header">
    …
    <svg width="100%" height="100%" viewBox="0 0 4000 1696" preserveAspectRatio="none">
        <defs>
          <clipPath id="myClip">
            <path d="M0 1568.18V0h4000v1568.18S3206.25 1696 2000 1696C984.37 1696 0 1568.18 0 1568.18z"/>
          </clipPath>
        </defs>
    </svg>
    …
</header>
Run Code Online (Sandbox Code Playgroud)

您可以运行下面的代码片段或检查JSFiddle.您可以看到内嵌的原始SVG图像(黑色),沿底部具有曲线并具有响应性.相反,红色矩形显示相同的图像(或者更确切地说,未应用)作为a clip-path.

我想我误解了viewBox或者preserveAspectRatio属性虽然找不到这里究竟是什么错误.任何帮助,将不胜感激.

#block-header {
    background: Red;
    min-height: 100px;
    -webkit-clip-path: url(#myClip);
	clip-path: url(#myClip);
}
Run Code Online (Sandbox Code Playgroud)
<h1>SVG image</h1>
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100" viewBox="0 0 4000 1696" preserveAspectRatio="none"><path d="M0 1568.18V0h4000v1568.18S3206.25 1696 2000 1696C984.37 1696 0 1568.18 0 1568.18z"/></svg>

<h1><code>clip-path</code> using the same …
Run Code Online (Sandbox Code Playgroud)

css svg responsive-design clip-path

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

使用Diazo从Plone内容中剥离空标签

我有一个Plone网站,以plone.app.theming为主题.我遇到的问题是设计非常严格,不假设任何空<p>元素或任何其他无意义的TinyMCE输出.这些元素打破了预期的设计.所以我想从内容中删除空元素.我试过内联xslt(根据http://diazo.org/advanced.html#inline-xsl-directives应该支持),如:

<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="node()|@*">
    <xsl:copy>
        <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="*[not(*) and not(text()[normalize-space()])]"/>
Run Code Online (Sandbox Code Playgroud)

但它并没有成功.事实上它让人觉得奇怪.p我想要摆脱的空标签保持完整,但其他一些元素

<a href="mylink"> <img src="../++theme++jarn.com/whatever.png" /></a>
Run Code Online (Sandbox Code Playgroud)

转换成

<a href="mylink"></a>
Run Code Online (Sandbox Code Playgroud)

将图像条纹化.替换match="*[…第二个模板match="p[…并没有删除图像,但那些讨厌<p>的仍然在输出中.

有关如何使用重氮规则摆脱空元素的任何提示?

更新 2012年1月31日这是我需要p剥离空标签的内容:

<div id="parent-fieldname-text">
<p></p>
<p> </p>
<p> </p>
<p><section id="what-we-do">
<p class="visualClear summary">Not empty Paragraph</p>
<ul class="thumbsList">
    <li><a href="mylink"> <img src="../++theme++jarn.com/whatever.png" /></a></li>
    <li><a href="mylink"> <img src="../++theme++jarn.com/whatever.png" /></a></li>
</ul>
</section></p>
</div>
Run Code Online (Sandbox Code Playgroud)

重氮转型规则:

<?xml version="1.0" encoding="UTF-8"?>
<rules
    xmlns="http://namespaces.plone.org/diazo"
    xmlns:css="http://namespaces.plone.org/diazo/css" …
Run Code Online (Sandbox Code Playgroud)

tinymce plone strip diazo

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

使用javascript整理HTML输出

我有一大块HTML.为了使它适合某个容器,我将HTML(不仅仅是文本)裁剪为200个字符.显然,在这种情况下,一些标签将保持未闭合状态.除了自己写清洁器之外,还有什么办法可以清除这种裁剪的片段而不需要服务器吗?可以使用JS中可以使用的公共API的在线服务.

html javascript tidy htmlcleaner

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

Disqus是否有公共事件要附加?

我需要在disqus表单获得更新后执行一些重新计算.一条新评论,错误信息仅举几例.本质上任何导致Disqus iframe垂直扩展的事件.检查了API,但没有发现任何公共事件.似乎事件不是公开可访问的atm.所以第一个问题是 - Disqus是否有任何公共事件要附加?

第二个是 - 如果我无法附加来自Disqus的事件我想知道MutationEvent会不会为我考虑一下Disqus内容是否在iFrame中?

javascript events disqus mutation-events

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

Linux 仅“查找”当前文件夹和指定文件夹

我需要在当前文件夹(非递归)和其他一些文件夹(递归)中查找文件。例如我有一个树结构,如下所示:

  • 文件夹1/
  • 文件夹2/
    • 文件夹2-1/
      • 文件2-1.php
  • 文件夹3/
    • 文件3-1.php
  • 文件1.php
  • 文件2.php

我只想找到文件file1.phpfile2.php并且file2-1.php仅此而已。因此,递归地在 root +folder2/ 中搜索。

我能找到的所有资源都描述了

find . -maxdepth 1 -iname "*.php" // gives `file1.php` and `file2.php`
Run Code Online (Sandbox Code Playgroud)

或者

find folder2 -iname "*.php" // gives me `file2-1.php`
Run Code Online (Sandbox Code Playgroud)

所以:

:如何组合这些命令?

PS 我应该能够在命令行中进一步发送找到的文件列表(例如发送到 xgettext)。

linux filesystems recursion command-line find

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