相关疑难解决方法(0)

如何检测变量是否为数组

什么是确定JavaScript中的变量是否为数组的最佳事实标准跨浏览器方法?

在网上搜索有很多不同的建议,有些是好的,有些是无效的.

例如,以下是一种基本方法:

function isArray(obj) {
    return (obj && obj.length);
}
Run Code Online (Sandbox Code Playgroud)

但是,请注意如果数组为空,或者obj实际上不是数组但实现了长度属性等会发生什么.

那么哪种实现在实际工作方面是最好的,跨浏览器并且仍然有效地执行?

javascript arrays

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

是否允许在<body>中使用<link>(不是rel ="stylesheet")?

Google,Yahoo和MS 推出的新schema.org建议使用该<link>属性来显示在线商店中产品的状态:

<div itemscope itemtype="http://schema.org/Offer">
  <span itemprop="name">Blend-O-Matic</span>
  <span itemprop="price">$19.95</span>
  <link itemprop="availability" href="http://schema.org/InStock"/>Available today!
</div>
Run Code Online (Sandbox Code Playgroud)

然而,根据w3schools.org <link>只允许在头部:

注意:此元素仅在head部分中出现,但它可以出现任意次.

我不习惯W3C风格,所以我无法理解W3C的确切定义.任何人都可以帮助我:它是否真的允许<link>在体内使用(在HTML5中,因为schema.org使用HTML5标签)或谷歌,雅虎和MS是否打破标准?

html5 w3c-validation

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

使用ui-router包含特定css/js文件的最佳方法

我正在寻找管理css文件包含的最佳方法,

我找到了一个很好的答案:https: //stackoverflow.com/a/20404559/3163545但这只适用于rootProvider.

那么如何用stateProvider做这样的事情:

app.config(['$routeProvider', function($routeProvider){
    $routeProvider
        .when('/some/route/1', {
            templateUrl: 'partials/partial1.html', 
            controller: 'Partial1Ctrl',
            css: 'css/partial1.css'
        })
        .when('/some/route/2', {
            templateUrl: 'partials/partial2.html',
            controller: 'Partial2Ctrl'
        })
        .when('/some/route/3', {
            templateUrl: 'partials/partial3.html',
            controller: 'Partial3Ctrl',
            css: ['css/partial3_1.css','css/partial3_2.css']
        })
}]);
Run Code Online (Sandbox Code Playgroud)

非常感谢你 :)

angularjs angular-ui-router

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

有没有办法在Angular中加载懒惰的CSS文件?

我正在使用AngularJS.到目前为止,我通过在部分的顶部链接它来加载特定于我的部分的CSS:

<!-- File: some_partial.html -->
<link rel="stylesheet" href="link/to/some_partial.css" />
<!-- Rest of partial code here -->
Run Code Online (Sandbox Code Playgroud)

这感觉不对.CSS没有链接<head>(使其成为非标准),并且每隔一段时间,样式实际上不会应用于部分.

在Angular中延迟加载CSS的正确方法是什么,推迟到实际需要部分?

javascript css angularjs

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

如何在Angular指令中使用<head>标记

我在我的Angular应用程序中尝试了这个,但它不起作用.所以我尝试<mytag>在头部插入一个自定义标签(),并通过将"head"替换为"mytag"使指令工作.

然而,这并不是我想要的,因为它增加<mytag>了身体而不是身体<head>

有谁知道如何让它与head-tag一起使用?

javascript angularjs angularjs-directive

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

如何在AngularJS $ routeProvider中将样式表附加到<head>?

我想仅在用户访问contact.html我的AngularJS应用程序/站点上的视图时才加载特定的CSS文件.我找到了这个对我来说几乎有意义的答案如何在AngularJS中包含视图/部分特定样式 charlietfl接受的答案如下:

可以附加一个新的样式表$routeProvider.为简单起见,我使用字符串但也可以创建新的链接元素,或者为样式表创建服务

/* check if already exists first - note ID used on link element*/
/* could also track within scope object*/
if( !angular.element('link#myViewName').length){
    angular.element('head').append('<link id="myViewName" href="myViewName.css" rel="stylesheet">');
}
Run Code Online (Sandbox Code Playgroud)

在页面中预先编码的最大好处是任何背景图像都已经存在,而且更少的谎言 FOUC

问题是我不知道在我$routeProvider添加代码的确切位置.charlietfl提到将其放在评论中的位置

不是如果没有调用路线的时间.可以将此代码放在routeProvider中的控制器回调中,或者可能在解析回调中,这可能会更快触发

我修改了我$routeProvider的建议.我resolve在下面的对象中添加了一个.when('/contact'.这是我的代码

angular.module('maxmythicApp', ['ngResponsiveImages'])
  .config(function ($locationProvider, $routeProvider) {
    $locationProvider.html5Mode(true);
    $locationProvider.hashPrefix = '!';
    $routeProvider
      .when('/', {
        templateUrl: '/views/design.html',
        controller: 'MainCtrl'
      })
      .when('/design', {
        templateUrl: '/views/design.html',
        controller: 'MainCtrl'
      })
      .when('/about', {
        templateUrl: '/views/about.html',
        controller: 'MainCtrl'
      }) …
Run Code Online (Sandbox Code Playgroud)

css conditional angularjs route-provider

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