小编jd.*_*jd.的帖子

在javascript中处理可选参数

我有一个静态的javascript函数,可以采用1,2或3个参数:

function getData(id, parameters, callback) //parameters (associative array) and callback (function) are optional
Run Code Online (Sandbox Code Playgroud)

我知道我总是可以测试给定参数是否未定义,但我怎么知道传递的是参数还是回调?

这样做的最佳方法是什么?


可以传递的内容示例:

1:

getData('offers');
Run Code Online (Sandbox Code Playgroud)

2:

var array = new Array();
array['type']='lalal';
getData('offers',array);
Run Code Online (Sandbox Code Playgroud)

3:

var foo = function (){...}
getData('offers',foo);
Run Code Online (Sandbox Code Playgroud)

4:

getData('offers',array,foo);
Run Code Online (Sandbox Code Playgroud)

javascript

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

什么是XHTML角色属性?你用它来做什么?

我已经阅读了W3C的页面,但它对我来说仍然含糊不清.是role属性的澄清代码目的是什么?或者它会被一些浏览器或蜘蛛解释?

它可以用作使用一些JavaScript库的DOM选择器(我这么认为,因为id属性必须是唯一的,这可以用来识别页面上的多个资源)?

html javascript xhtml attributes

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

304:未修改和前端缓存

我正在使用PHP脚本来提供文件.我希望能够304在我的http响应中发送一个未修改的标头,如果该文件自客户端上次下载以来没有更改.这似乎是Apache(和大多数其他Web服务器)的一个功能,但我不知道如何通过PHP实现它.

我听说过使用过$_SERVER['HTTP_IF_MODIFIED_SINCE'],但是这个变量似乎没有出现在我的$_SERVER超级数组中.

我的问题不是如何返回304标题,而是如何知道应该返回标题.


编辑:问题是我$_SERVER['HTTP_IF_MODIFIED_SINCE']没有设置.这是我.htaccess文件的内容:

ExpiresActive On 
ExpiresByType image/jpeg "modification plus 1 month"
ExpiresByType image/png "modification plus 1 month"
ExpiresByType image/gif "modification plus 1 month"
Header append Cache-Control: "must-revalidate" 


<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond $1 !^(controller\.php)
   RewriteRule (.*\.jpg|.*\.png|.*\.gif) controller.php/$1
</IfModule>
Run Code Online (Sandbox Code Playgroud)

HTTP_IF_MODIFIED_SINCE仍然没有出现在$_SERVER超级阵列中.

php caching http http-headers

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

验证文件是PHP中的图片

如果文件上传到服务器,有没有办法使用PHP,以确保它实际上是一张图片,而不仅仅是一个.jpg或.gif扩展名的文件?

php security validation image

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

使用.html文件作为JSP

这可能是一个愚蠢的问题,但我在谷歌搜索时没有找到答案.

目前,我将来自someFileName.html的请求映射到servlet,然后使用web.xml中的servlet映射将其转发到someFileName.jsp.我想避免这种情况,只需配置我的应用程序服务器,以便解析和执行html文件,就像它们是JSP一样(这样可以在HTML中使用自定义标记和EL).奖励答案,允许任何扩展映射到JSP处理器.

我使用Tomcat,但我希望该解决方案可以移植到其他容器,如Glassfish.

java jsp tomcat glassfish java-ee

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

Ember Data不允许hasMany关系中的重复条目

我有以下型号:

#order/model.coffee
Order = DS.Model.extend {
  line_items: DS.hasMany 'product', {async: true}
}
Run Code Online (Sandbox Code Playgroud)

在某些时候,我想将一些产品添加到订单中.我发现我只能添加一次产品,再添加相同的产品不起作用:

#product/route.coffee
...
actions:
    # Not actually my code but illustrates the problem
    addToCart: (product1, product2)->
      order = @modelFor 'order'
      console.log order.get('line_items.length') # prints 0

      order.get('line_items').pushObject product1
      console.log order.get('line_items.length') # prints 1

      order.get('line_items').pushObject product2
      console.log order.get('line_items.length') # prints 2

      order.get('line_items').pushObject product1
      console.log order.get('line_items.length') # prints 2

      order.get('line_items').pushObject product2
      console.log order.get('line_items.length') # prints 2


      ...
Run Code Online (Sandbox Code Playgroud)

问题是用户可能不止一次需要单个项目.表示该方法的最简单方法是使数组具有重复条目.看来Ember并没有让我为关系这样做.如何在关系中多次添加模型?

javascript ember.js ember-data

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

一页只有javascript应用程序

您是否尝试过单页面Web应用程序,即浏览器只有"GETs"一页形成服务器,其余部分由客户端javascript代码处理(这样一个"应用程序页面"的一个很好的例子是Gmail)?

对于更简单的应用程序(例如博客和CMS),采用这种方法的一些专业人员和合作伙伴是什么?

你如何设计这样的应用程序?


编辑:如响应中所提到的,难以处理的是处理后退按钮,刷新按钮,书签/复制URL.后者可以使用location.hash来解决,关于剩下的两个问题的任何线索?

javascript

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

从现有对象动态创建新的javascript类

说我有以下代码:

var album = new MyObject('album');
Run Code Online (Sandbox Code Playgroud)

假设在构造对象时,通过AJAX加载一组仅与专辑相关的属性.是否可以创建一个Album类,以便稍后我可以这样做:

var anotherAlbum = new Album();
Run Code Online (Sandbox Code Playgroud)

Album构造函数将自动设置特有的专辑对象的属性,立足于打造什么时候加载MyObject('album')

javascript class dynamic

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

var {u,v,w} = x; 在Javascript中意味着什么?

我在一段JS代码中看到了这个:

var {status, headers, body} = res;
Run Code Online (Sandbox Code Playgroud)

它有什么作用?

javascript language-construct

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

检索泛型类的.class属性

我试图用构造函数(来自Ektorp库)扩展以下类:

public class CouchDbRepositorySupport<T extends CouchDbDocument> implements GenericRepository<T> {

...

protected CouchDbRepositorySupport(Class<T> type, CouchDbConnector db) {
...

}
Run Code Online (Sandbox Code Playgroud)

这是我的实现:

public class OrderRepository extends CouchDbRepositorySupport<Order<MenuItem>> {

    public OrderRepository(CouchDbConnector db) {
        super(Order<MenuItem>.class, db);
Run Code Online (Sandbox Code Playgroud)

问题出在Order<MenuItem>.class零件上.Java编译器告诉我:

 Syntax error on token ">", void expected after this 
Run Code Online (Sandbox Code Playgroud)

我试着用(Order<MenuItem>).class,Order.classnew Order<MenuItem>().getClass()没有更好的运气.

我该怎么做才能检索泛型类的.class属性?

java generics ektorp

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