小编Mar*_*iry的帖子

谷歌CDN上的最新jQuery版本

我在谷歌CDN 的官方文档中读到这是srcjQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是,src在每个版本更新时必须更改我的jQuery 引用是很烦人的.

我发现,如果我将版本设置为,1则Google会返回最新版本的jQuery.

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
/*! jQuery v1.8.2 jquery.com | jquery.org/license */
Run Code Online (Sandbox Code Playgroud)

这是正确的做法吗?是否有任何官方URL可以引用Google CDN上托管的最新版jQuery?

jquery google-cdn

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

可以在html5中验证input = file的大小和类型

我正在阅读http://dev.w3.org/html5/markup/input.file.html,但我只找到了"接受"属性.

我试过这个

<input type="file" name="imagefilename" accept="image/x-png, image/gif, image/jpeg" />
Run Code Online (Sandbox Code Playgroud)

是否可以对文件大小进行客户端验证?

我发现了IE的这种技术

<html>
<head>
<script>
function getSize()
{
    var myFSO = new ActiveXObject("Scripting.FileSystemObject");
    var filepath = document.upload.file.value;
    var thefile = myFSO.getFile(filepath);
    var size = thefile.size;
    alert(size + " bytes");
}
</script>
</head>
<body>
<form name="upload">
<input type="file" name="file">
<input type="button" value="Size?" onClick="getSize();">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

是否可以使用html5文件系统api做同样的事情?

UPDATE

我可以这样做(演示):

<!doctype html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
</head>
<body>
    <form >
        <input type=file id=f max-size=32154 >
        <input type=submit>
    </form> …
Run Code Online (Sandbox Code Playgroud)

validation file-io html5

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

outerWidth没有jquery

可以使用dom获取元素outerWidth吗?

EJ:

var width = document.getElementById('myDiv').outerWidth; 
Run Code Online (Sandbox Code Playgroud)

javascript

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

JavaScript:获取当前正在执行的<script>节点?

我需要知道是否有可能获得当前的执行节点?

例:

..html
<script id="x">
  console.log(document.currentNode.id); // << this must return "x"
</script>
..html
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript dom

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

预加载脚本没有执行

问题

为了提高页面性能,我需要预加载我需要在底页运行的脚本.

我想控制脚本何时被解析,编译和执行.

我必须避免脚本标记,因为它是常见渲染引擎(geeko等)的阻止程序.

我无法使用defer属性加载它,因为我需要控制脚本执行的时间.此外,异步属性不是可能的.

样品:

<html><head>
//preload scripts ie: a.js  without use the script
</head><body> ..... all my nice html here
//execute here a.js
</body></html>
Run Code Online (Sandbox Code Playgroud)

这允许我最大化我的页面的渲染性能,因为浏览器将开始下载脚本内容,并且它将同时呈现页面并行.最后,我可以添加脚本标记,以便浏览器解析,编译和执行代码.

我能做到的唯一方法是使用隐藏的图像标记.(这是斯托扬的简化版)

 <html><head>
 <img src="a.js" style=display:none;>
</head><body> ..... all my nice html here
 <script src="a.js">  
</body></html>
Run Code Online (Sandbox Code Playgroud)

我没有发现使用这种技术的任何问题,但有没有人知道更好的方法来做到这一点?有没有meta预取?

附加信息

我正在使用requirejs,所以我试图预加载模块代码而不执行它,因为这段代码依赖于DOM元素.

javascript browser performance requirejs

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

Symfony2资产按文件版本控制

Symfony2是否可以通过文件使用assets_version

背景

我们使用assets_version和assets_version_format来管理文件版本并强制在CDN和浏览器缓存上进行缓存更新.

这就像魅力!,但是,我们发现assets_version所有静态资源只有一个参数.

这是一个问题,因为我们的webapp具有大量静态资源,而且我们每天都在对prod环境进行更改.这种情况会杀死缓存.:(

这是我们当前的配置:

config.yml

framework:

    templating:
        engines: ['twig']
        assets_version: %assets_version%
        assets_version_format:  "stv%%2$s/%%1$s"

# Assetic Configuration
assetic:
    debug:          %kernel.debug%
    use_controller: false
    # java: /usr/bin/java
    filters:
         cssrewrite: ~
         closure:
             jar: %kernel.root_dir%/java/compiler.jar
         yui_css:
             jar: %kernel.root_dir%/java/yuicompressor-2.4.6.jar
Run Code Online (Sandbox Code Playgroud)

sometemplate.html.twig

    {% stylesheets 'bundles/webapp/css/funCommon.css'
                       'bundles/webapp/css/funMobile.css'
                       filter='?yui_css'
        %}
        <link rel=stylesheet href='{{ asset_url }}'>
        {% endstylesheets %}

    {% javascripts 'bundles/webapp/js/app.js'
                   'bundles/webapp/js/utils.js'
                    filter='?closure'  %}
        <script src="{{ asset_url }}"></script>
        {% endjavascripts %}

{% javascripts 'bundles/webapp/js/moduleX.js'
                   'bundles/webapp/js/utilsX.js'
                    filter='?closure'  %}
        <script src="{{ …
Run Code Online (Sandbox Code Playgroud)

php caching assets symfony twig

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

没有请求的Symfony2模板化

我正在尝试从ContainerAwareCommandSymfony2 发送一封电子邮件.但是,当电子邮件模板呈现时,我得到此异常:

$body = $this->templating->render($template, $data);
Run Code Online (Sandbox Code Playgroud)

例外:

 ("You cannot create a service ("templating.helper.assets") of an inactive scope ("request").") 
Run Code Online (Sandbox Code Playgroud)

我在github中发现这个帮助器需要请求对象.有人知道如何实例化Request对象?

symfony

8
推荐指数
2
解决办法
4161
查看次数

WkWebview被Angular冻结

背景

我们有一个简单的Angular + Bootstrap应用程序,该应用程序在使用WkWebview嵌入页面的外部应用程序中运行。该应用程序可在所有操作系统,Android和Iphone的Desktop上正常运行。没有javascript错误或CSS警告。

问题

但是,当我们点击时,它会随机冻结在iPad中的运行<a href="#screen2"。这会触发更改,routerProvider以更改屏幕控制器和模板。它像透明层一样锁在整个屏幕上。或者所有事件(单击选项卡滚动)都已锁定。

怪异

如果我们将方向更改为横向,则屏幕将被解锁。如果我们再次转向肖像,它将再次锁定。

额外

我们无法将WkWebview更改为较新的版本。我们只能控制webapp。我们知道WkWebview存在以下几个问题:滚动,焦点和显示更改,这些更改影响渲染并导致空白或冻结屏幕。我们还使用此脚本来避免某些焦点事件出现空白屏幕:

(function(){
  try{
      var a=navigator.userAgent;
      if((a.indexOf('Salesforce')!=-1)&&(a.indexOf('iPhone')!=-1||a.indexOf('iPad')!=-1)&&(a.indexOf('OS/8')!=-1||a.indexOf('OS 8')!=-1||a.indexOf('OS/9')!=-1||a.indexOf('OS 9')!=-1||a.indexOf('OS 10')!=-1||a.indexOf('OS/10')!=-1)&&(a.indexOf('Safari')==-1)){
        var s=document.createElement('style'); 
        if(a.indexOf('OS/8')!=-1||a.indexOf('OS 8')!=-1) {
            s.innerHTML="html,html body{overflow: auto;-webkit-overflow-scrolling:touch;}body{position:absolute;left:0;right:0;top:0;bottom:0;}";
        }
        else if(a.indexOf('OS/9')!=-1||a.indexOf('OS 9')!=-1) {
            s.innerHTML="html,html body{overflow: auto;-webkit-overflow-scrolling:auto;}body{position:absolute;left:0;right:0;top:0;bottom:0;}";
        }
        else if(a.indexOf('OS/10')!=-1||a.indexOf('OS 10')!=-1) {
            s.innerHTML="html,html body{overflow: auto;-webkit-overflow-scrolling:auto;}body{position:absolute;left:0;right:0;top:0;bottom:0;}";
        }
        document.getElementsByTagName('head')[0].appendChild(s);
      }
  } catch(e){}
})();
Run Code Online (Sandbox Code Playgroud)

有解决此问题的解决方法吗?

提前致谢

javascript css ios angularjs wkwebview

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

检查cookie是否存在的更快更短的方法

知道cookie 是否具有价值存在的更短更快的方法是什么?

我用这个来知道是否存在:

 document.cookie.indexOf('COOKIENAME=')== -1
Run Code Online (Sandbox Code Playgroud)

这知道是否有价值

 document.cookie.indexOf('COOKIENAME=VALUE')== -1
Run Code Online (Sandbox Code Playgroud)

好点?这个方法有什么问题吗?

javascript cookies

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

保存时extjs ServerProxy错误

我正在尝试从网格行图标更新字段值.但我得到这个错误:

Uncaught Ext.data.proxy.Server.buildUrl(): You are using a ServerProxy but have not supplied it with a url.

我正在使用RestProxy,这是商店定义:

Ext.define('SF.store.Contents', {

    requires: [
        'SF.Config',
        'SF.store.RestProxy'
    ],

    extend: 'Ext.data.Store',
    model: 'SF.model.Content',
    autoLoad: false,

    proxy: Ext.create('SF.store.RestProxy', {
        url: (new SF.Config()).getApiBaseUrl() + "admin/contents"
    }),

});
Run Code Online (Sandbox Code Playgroud)

GridPanel定义上的列代码

....
 store: 'Contents',    
.....
{ xtype: 'actioncolumn', header: 'Action'
 , width: 40
 , items: [{ // Delete button
        icon: '......./cancel.png'
        , handler: function(grid, rowIndex, colindex) {
            var record = grid.getStore().getAt(rowIndex);
                record.set('status',6);

            record.save(); //THIS CALL …
Run Code Online (Sandbox Code Playgroud)

javascript rest extjs

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