小编Mar*_*arc的帖子

如何使用AngularJS以编程方式创建URL

目前我正在使用AngularJS框架.我正在使用$ route服务深入链接到我的单页应用程序.

现在,我想在我的应用程序中导航,例如,只更改当前URL的搜索部分.在JavaScript中使用$ location服务很容易,但是如何在仅更换搜索部分的情况下从当前路径构造href属性?

我是否必须手动完成或是否有AngularJS方式?

添加:

当然,$ location服务具有计算此类URL的所有方法.但是我无法使用它,因为$ location还会将浏览器窗口导航到新的URL.

手动创建URL还有另一个复杂因素:必须检查是否使用了旧版#-method或新的History API.根据此情况,URL必须包含#-sign.

html javascript angularjs

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

如何在JavaScript中检索构造函数的名称?

假设以下程序:

var C = function() { };
x = new C();
Run Code Online (Sandbox Code Playgroud)

表达式x instanceof C产生True,因此x必须知道它是由函数构造的C.有没有办法C直接从中检索名称x

(在我手头的问题中,我有一个原型层次结构在我的应用程序中实现可能的信号.我必须访问一个信号的类型,它应该等同于用于创建该信号的构造函数.)

javascript inheritance

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

是否有官方计划在Google App Engine上支持Dart?

谷歌搜索网络我还没有找到任何关于Dart是否应该最终得到Google App Engine托管平台支持的内容.

谷歌说,达特也应考虑用于开发Web应用程序的服务器部分的语言.

有谁知道更多吗?

google-app-engine dart

28
推荐指数
2
解决办法
4455
查看次数

Haskell:"不在范围内:'>>'"没有隐含的前奏

使用GHC 6.12.1编译以下Haskell程序会产生错误:

{-# LANGUAGE NoImplicitPrelude #-}

module Example where

import Prelude(Integer, fromInteger, (==))

f :: Integer -> Integer
f n
    | n == 0 = 0
Run Code Online (Sandbox Code Playgroud)

即:

example.hs:9:6:不在范围内:`>>'

将import语句更改为时,错误消失了:

import Prelude(Integer, fromInteger, (==), (>>))
Run Code Online (Sandbox Code Playgroud)

这是有道理的.然而,我不明白为什么首先出现错误.我的程序似乎没有使用任何Monad,而>>Monad运算符之一.

haskell ghc

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

语义HTML5结构与CSS布局需求

我有一个类似下面的网页:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>
    </head>
    <body>
        <header>
            <span>Logo</span>
            <nav>Navigation</nav>
        </header>
        <main>
            <h1>Page heading</h1>
            <div>
                Page content
            </div>
        </main>
        <footer>
            Content information
        </footer>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

页面结构类似于当前HTML5草案中的一个示例:http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-element,我认为它是语义正确.

现在我想使用CSS设置此文档的样式.我想成为顶部的页眉和底部的页脚,当然,这很容易实现.在标题内部,我想将徽标放在右侧,并在中心导航,这也没关系(例如,使用灵活的盒子布局模型,这是现代浏览器支持的一种或另一种方式,或者使用花车).

当我想将主要的内容标题(h1元素)放在标题的左侧时,我的问题就开始了.我可以使用position:absolute,但是这样的布局不是很灵活,并且只要标题或标题的大小发生变化就会中断.建议的CSS网格布局http://www.w3.org/TR/css3-grid-layout/可能能够完全符合我的要求,但据我所知,它仅在IE 10中得到支持(不知何故) .

一个简单而有效的解决方案是简单地重构我的页面:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>
    </head>
    <body>
        <div>
            <h1 id="heading">Page heading</h1>
            <header>
                <span>Logo</span>
                <nav>Navigation</nav>
            </header>
        </div>
        <main aria-labelledby="heading">
            <div>
                Page content
            </div>
        </main>
        <footer>
            Content information
        </footer>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然而,这个解决方案虽然易于布局,但它的完整语义只能通过aria-*属性表达,并且似乎违背了HTML5语义的精神(特别是主要元素).

虽然我的示例页面可能很简单,但您可以轻松想象一个更复杂的页面,其中更多元素的视觉位置与HTML5标记的流顺序的顺序不同(并且嵌套以便灵活的框布局顺序属性赢得还不够.你会如何解决这个问题?用非语义元素(例如div)重写HTML5标记,使其更多地与视觉布局相对应,然后尽可能用新结构通过语义元素(例如页脚或主要元素)交换非语义元素?

css html5 accessibility semantic-markup wai-aria

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

设置SVG Material Design Icons的背景颜色

我使用此处描述的方法使用Material Design Icons:

https://github.com/google/material-design-icons#using-svg-sprites

但是,图标总是以黑色结束.我该怎么把它们的颜色改成白色呢?

我知道可以编辑SVG源代码以达到效果,但这似乎不是规范的方法.材料设计图标存储库的CSS图像精灵在不同的版本中取决于颜色,而SVG只有一种颜色(事实上,没有颜色,因为SVG代码中没有提到任何颜色).如果我需要不同的SVG精灵文件用于白色或黑色图标,它们会包含不同的版本,就像他们在CSS图像精灵的情况下那样,不是吗?

css svg sprite-sheet material-design

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

自定义元素和可访问性

我想使用当前的Web组件规范实现一个列表框小部件.此外,生成的列表框应符合ARIA标准.实例化列表框小部件应该如下所示:

<x-listbox>
    <x-option>Option 1</x-option>
    <x-option>Option 2</x-option>
</x-listbox>
Run Code Online (Sandbox Code Playgroud)

出于清洁和封装的目的,其他所有内容都应该以阴影dom呈现.为了实现这个小部件,两个自定义元素,<x-listbox><x-option>进行登记.影子dom的顶级元素<x-listbox>是一个<div>带有可访问性role=listboxaria-activedescendent属性的<x-listbox>元素(我不希望元素上有这些属性,因为它们是实现细节.)

为了aria-activedescendent工作,需要选项元素的ID.将id直接放在<x-option>元素上将不会有两个原因:首先,它会污染使用列表框小部件的文档的id命名空间.其次,更重要的是,id不能跨越阴影边界(这是阴影dom的一个目的),因此选项的id必须<div>aria-activedescendent属性一样生成在相同的阴影dom中.

对此的解决方案是将每个<x-option>被渲染为阴影dom内部的内容<x-listbox>与另一个<div>(属于该阴影dom),其上可以放置id.

我的问题是:这是正确的方法,如何使用自定义元素和阴影dom web apis实现这一点?

web-component wai-aria shadow-dom

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

如何在Haskell中使用fromInteger而没有隐式前奏?

以下程序在ghci中产生错误:

{-# LANGUAGE NoImplicitPrelude #-}

import Prelude (Integer, Bool)
import qualified Prelude

class Discrete a where
    (==) :: a -> a -> Bool

instance Discrete Integer where
    (==) = (Prelude.==)

class Monoid a where
    one :: a
    (*) :: a -> a -> a

    fromInteger :: Integer -> a
    fromInteger 1 = one
Run Code Online (Sandbox Code Playgroud)

即:

fromInteger.hs:17:16:
没有实例(Monoid Integer)
来自文字fromInteger':fromInteger 1 = 1 1' at fromInteger.hs:17:16
Possible fix: add an instance declaration for (Monoid Integer)
In the pattern: 1
In the definition …

haskell ghc

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

聚合物中的材料设计排版和度量规则

我的问题很简单:在Polymer应用程序中实施Material Design(http://www.google.com/design/spec/material-design/introduction.html)的排版和度量规则的推荐方法是什么?例如,如何在CSS中实现sp和dp单元?

我可以包含官方CSS文件吗?我也不确定聚合物的核心和纸元素是否都符合材料设计的一般规则.它说,与Polymer捆绑在一起的Topeka应用程序就是Material Design的一个例子.但是,我还没有通过阅读它的来源,特别是它的样式表来理解这一点.例如,配置文件屏幕(https://github.com/Polymer/topeka-elements/blob/master/topeka-profile.html)不遵循所有度量规则,是吗?(或者我完全弄错了?)

html css web-component polymer material-design

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

创建和发送自定义Javascript事件是否被视为一种好习惯?

我的Web应用程序使用document.createEventevent.initEvent创建泛型类型的自定义事件Event.

我想知道这是否被视为良好做法.在这方面,我可以利用已经存在的DOM事件系统,而不必发明和实现我自己的; 另一方面,这可能导致名称冲突,以防未来的标准化事件模型定义具有我选择的名称的事件类型.(或者是否可以命名事件类型?)

我问,因为我刚刚通过浏览stackoverflow了解到将自定义属性放在DOM对象或内置Javascript对象上被认为是不好的做法.

编辑 我想我已经找到了: http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-CustomEvent

所以让我重新解释一下我的问题:我是否正确理解了引用的部分,因为建议CustomEvent在Web应用程序中实际使用它?

添加警告 我刚刚注意到CustomEvent6.之前的Firefox版本不支持它.但是当前基于Webkit的浏览器支持它.

javascript browser events dom

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