小编Tau*_*ren的帖子

脚本标记的jquery选择器问题

我正在尝试选择<script type="text/html">页面中的所有标签.我使用<script>标签来存储HTML模板,类似于John Resig的工作方式.出于某种原因,以下jquery选择器似乎没有选择任何东西:

$("script[type*=html]").each(function() {
    alert("Found script "+this.id);
});
Run Code Online (Sandbox Code Playgroud)

此标记位于HTML文档的BODY中:

<body>
    <script id="filter-search" type="text/html">
        <dt>Search</dt>
        <dd><input type="text"/></dd>
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)

我也尝试将它放入HTML文档的HEAD中,但仍然没有找到它.没有显示警报.

如果我改为将代码更改为:

$("script[type*=javascript]").each(function() {
    alert("Found script "+this.id);
});
Run Code Online (Sandbox Code Playgroud)

然后它只找到HEAD中具有src外部文件的脚本.找不到实际页面中的脚本.例如,在HEAD中有以下内容:

<head>
    <script type="text/javascript" src="jquery.js" id="jquery"></script> 
    <script type="text/javascript" src="jquery-ui.js" id="ui"></script> 
    <script type="text/javascript" id="custom">
        $(document).ready( function() {
            $("script[type*=javascript]").each(function() {
                alert("Found script "+this.id);
            });         
            $("script[type*=html]").each(function() {
                alert("Found TEMPLATE script "+this.id);
            });         
        });
    </script> 
    <script id="filter-test" type="text/html">
        <dt>Test</dt>
    </script>
</head>
<body>
    <script id="filter-search" type="text/html">
        <dt>Search</dt>
        <dd><input type="text"/></dd>
    </script> …
Run Code Online (Sandbox Code Playgroud)

jquery

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

用于设计报表布局的jQuery插件

我正在寻找某种jquery插件(甚至普通的javascript),可用于创建报表布局,名片布局等.经过大量的谷歌搜索后找不到任何东西.

基本上,我正在设想一个显示背景网格的画布(可能是html5画布?).至少可以将文本和图像添加到画布中.优选地,它们可以被拖放.

我对任何具有任何遥远功能的功能感到满意.我希望自己写一下.但如果已经存在某些东西,我想首先看一下.

只是为了帮助澄清我正在寻找的东西,想象一下jquery代码可以让你在网页浏览器中布局名片而不使用flash.这包括添加文本,更改字体,添加图像,添加线条,更改背景颜色,应用渐变等.

我希望有人知道一些有用的东西!

javascript jquery html5 jquery-ui canvas

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

客户端模板框架,以简化使用REST/JSON的jQuery

我开始将一些html生成任务从服务器端框架迁移到客户端.我在客户端上使用jQuery.我的目标是通过REST api获取JSON数据,并使用此数据将HTML填充到页面中.

现在,当我的网站上的用户点击指向My Projects的链接时,服务器会生成如下HTML:

<dl>
    <dt>Clean Toilet</dt>
    <dd>Get off your butt and clean this filth!</dd>

    <dt>Clean Car</dt>
    <dd>I think there's something growing in there...</dd>

    <dt>Replace Puked on Baby Sheets</dt>
</dl>
Run Code Online (Sandbox Code Playgroud)

我正在改变这一点,以便单击My Projects现在将执行返回以下内容的GET请求:

[
  {
    "name":"Clean Car",
    "description":"I think there's something growing in there..."
  },
  {
    "name":"Clean Toilets",
    "description":"Get off your butt and clean this filth!"
  },
  {
    "name":"Replace Puked on Baby Sheets"
  }
]
Run Code Online (Sandbox Code Playgroud)

我当然可以编写自定义jQuery代码来获取JSON并从中生成HTML.这不是我的问题,我不需要有关如何做到这一点的建议.

我想要做的是将表示和布局与逻辑(jquery代码)完全分开.我不想通过jQuery代码创建DL,DT和DD元素.我宁愿使用某些HTML模板来填充数据.这些模板可能只是隐藏在加载应用程序的页面中的HTML片段.或者它们可以从服务器动态加载(以支持用户特定的布局,i18n等).它们可以一次显示,也可以循环和重复.也许它应该支持子模板,if/then/else等等.

我在我的网站上有很多以不同方式呈现的列表和内容.我希望创建一种简单而一致的方式来生成和显示内容,而无需为我网站上的每个不同功能创建自定义jQuery代码.对我来说,这意味着我需要在jQuery(可能作为插件)之上找到或构建一个满足这些要求的小框架.

我发现的唯一一种类似于jTemplates的框架.我不知道它有多好,因为我还没用过它.乍一看,我对它的模板语法并不感到兴奋.

有人知道我应该研究的其他框架或插件吗?有没有讨论过这类事情的博客文章或其他资源?我只是想确保在自己构建之前我已经对所有内容进行了调查.

谢谢!

rest jquery json jquery-plugins

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

Javascript Regex将点表示法转换为括号表示法

考虑这个javascript:

var values = {
    name: "Joe Smith",
    location: {
        city: "Los Angeles",
        state: "California"
    }
}

var string = "{name} is currently in {location.city}, {location.state}";

var out = string.replace(/{([\w\.]+)}/g, function(wholematch,firstmatch) {
    return typeof values[firstmatch] !== 'undefined' ? 
        values[firstmatch] : wholematch;
});
Run Code Online (Sandbox Code Playgroud)

这将输出以下内容:

Joe Smith is currently in {location.city}, {location.state}
Run Code Online (Sandbox Code Playgroud)

但我想输出以下内容:

Joe Smith is currently in Los Angeles, California
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种很好的方法将字符串中大括号之间的多个点符号转换为多个参数,以便与括号表示法一起使用,如下所示:

values[first][second][third][etc]
Run Code Online (Sandbox Code Playgroud)

从本质上讲,对于这个例子,我试图弄清楚我需要用什么样的正则表达式字符串和函数来达到相当于:

out = values[name] + " is currently in " + values["location"]["city"] +
    values["location"]["state"];
Run Code Online (Sandbox Code Playgroud)

注意:我想在不使用的情况下这样做eval().

javascript regex

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

当replace = true时,如何防止angular指令中的重复属性

我发现指定的angular指令replace: true会将指令用法的属性复制到模板呈现的输出中.如果模板包含相同的属性,则模板属性值和指令属性值将在最终输出中组合在一起.

指令用法:

<foo bar="one" baz="two"></foo>
Run Code Online (Sandbox Code Playgroud)

指示:

.directive('foo', function() {
  return {
    restrict: 'E',
    replace: true,
    template: '<div bar="{{bar}}" baz="baz"></div>',
    scope: {
      bar: '@'
    },
    link: function(scope, element, attrs, parentCtrl) {
      scope.bar = scope.bar || 'bar';
    }
  };
})
Run Code Online (Sandbox Code Playgroud)

输出:

<div bar="one " baz="two baz" class="ng-isolate-scope"></div>
Run Code Online (Sandbox Code Playgroud)

空间bar="one "正在造成问题,因为有多个值baz.有没有办法改变这种行为?我意识到我可以在我的指令中使用非冲突属性,并在输出中同时具有模板属性和非冲突属性.但我希望能够使用相同的属性名称,并更好地控制模板的输出.

我想我可以使用link方法与element.removeAttr()element.attr().似乎应该有一个更好的解决方案.

最后,我意识到有关于弃用的讨论remove: true,但有充分理由保留它.在我的情况下,我需要它用于使用transclusion生成SVG标记的指令.详情请见:https: //github.com/angular/angular.js/commit/eec6394a342fb92fba5270eee11c83f1d895e9fb

angularjs angularjs-directive

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

通过iframe下载文件时出现Chrome错误

我正在向服务器提交JSON数据.服务器生成PDF文件并使用该PDF文件的URL进行响应.然后我再向服务器发出下载PDF文件的请求.要进行下载,我创建一个隐藏的iframe并将源设置为PDF网址.请注意,我希望用户的浏览器保持在同一页面并在后台下载.关于我正在做什么以及我采用的解决方案的更多细节可以在这个SO问题中找到.

每当我在Chrome中使用这种技术时,一切正常.但是看一下chrome开发者控制台,我看到了错误信息Failed to load resource.有没有办法以不同的方式做到这一点,以便我不会得到这些错误?

在jsfiddle上可以看到一个非常简单且有效的问题.只需单击"下载PDF"按钮,然后查看Chrome控制台即可.

该页面上的代码如下所示:

$(document).ready( function() {
    var downloadFile = function(url){
        var iframe = $("iframe#download");
        if (!iframe.length) {
            iframe = $("<iframe id='download' style='display:none;'/>");
            $("body").append(iframe);
        }
        iframe.attr("src", url);
    };

    $("button").click(function() {    
        downloadFile("http://www.education.gov.yk.ca/pdf/pdf-test.pdf");
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript iframe jquery

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

Firebug 1.5显示200 Aborted用于Ajax请求

当我使用Firebug 1.5时,我在某些ajax请求上遇到200个ABORTED错误.您可以通过在文本字段中键入来在此演示页面上看到这种情况.即使出现这些错误,该网站的功能似乎也可以正常工作.简单地忽略这些错误是否安全?

这个wicket邮件列表线程似乎表明wicket ajax代码正在做它应该做的事情.此外,这个萤火虫问题似乎表明可能存在一些担忧.不知道该怎么想.

ajax firebug xmlhttprequest firebug1.5

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

从Web服务发送自动每日电子邮件的最佳做法

我正在运行一个Web服务,该服务目前通过gmail smtp服务器向新用户发送确认电子邮件.由于我每天只收到一些新用户,所以这不是问题.

我最近为webapp添加了新功能,需要每天向每个用户发送自定义消息.可以认为这与LinkedIn发出的常规消息类似,可以为您提供有关网络活动的状态报告.每个用户的消息都会有所不同.拥有数千名用户,这意味着每天都会发送数千条独特的消息.

编辑:我发现这些类型的电子邮件被称为"交易或关系消息".Spamtacular有一篇关于区分营销和交易电子邮件的好文章.

我不认为使用gmail的smtp服务器会再削减它,但我肯定不知道.我不知道每个帐户的gmail最大外发邮件数是多少(可能是100 /天),但它们会将邮件限制为每封邮件500个收件人.我不会向500个收件人发送单个邮件,但我将发送1000个自定义邮件,每个收件人每天收到一封邮件.

我有兴趣学习这方面的任何最佳实践(特别是对于基于Java的webapps).以下是我对它的一些看法和关注:

  • 我应该设置自己的外发邮件服务器吗?如果我这样做,似乎我会担心各种其他问题,例如防止滥用邮件服务器,监控退回,允许选择退出电子邮件等等.是否有任何工具或服务可以帮助有了这个?也许像OpenEMM或像MailChimp这样的服务?但那些似乎更侧重于电子邮件营销活动.
  • 我不认为我应该让webapp本身处理发送电子邮件,因为它目前用于新用户注册.我想我应该设置一个单独的消息服务器,它可以访问与webapp相同的后端/数据存储.对此的想法?
  • 我应该考虑设置某种消息队列服务来帮助解决这个问题,例如JMS,RabbitMQ,ActiveMQ等吗?
  • 我是否需要为用户提供退出方式?我是否需要将这些标记为批量邮件?我并不真正考虑这些电子邮件营销信息,但我不确定什么是合适或正确的网络礼仪.

任何建议表示赞赏.我也对开源工具或简化操作的Web服务非常感兴趣,可以帮助我尽快提升.

谢谢!

email web-services

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

控制Hibernate EnumType.STRING属性的排序顺序

目前,我的项目使用@Enumerated(EnumType.ORDINAL),所以当我按此列排序时,它是根据订单中的顺序排序enum,这很好.但是我需要添加一些额外的值enum,这些值需要插入枚举值列表中的不同位置,并且不能只是添加到底部以保持正确的排序顺序.

如果我这样做,我的数据库将被搞砸.我将不得不编写一些脚本来将所有这些序数值转换为正确的新序数.以后可能需要添加更多状态.因为我必须修复数据库中的所有数据,所以我只想做一次,因为这将是一项艰巨的任务.

所以我想切换到EnumType.STRING不必再次重新映射数据库中的序数值.但是,如果我这样做,那我该怎么排序呢?枚举字符串的字母顺序不是我需要的顺序.

使用下面的类,当我按属性"status"排序时,结果按以下顺序排列:

hql = "from Project order by status"

Development
Planning
Production
Run Code Online (Sandbox Code Playgroud)

我希望他们按此顺序出来,不使用EnumType.ORDINAL:

Planning
Development
Production
Run Code Online (Sandbox Code Playgroud)

如果没有为该类创建表enum或向Project该类添加其他列,是否可以这样做?我试过这个,但它引发了一个异常:

hql = "from Project order by status.sort"
Run Code Online (Sandbox Code Playgroud)

枚举:

public enum Status {

    PLANNING("Planning", 0),
    DEVELOPMENT("Development", 1),
    PRODUCTION("Production", 2);

    private final String name;
    private final int sort;
    private Status(String name, int sort) {
        this.name = name;
        this.sort = sort;
    }
    @Override
    public String toString() {
        return name;
    } …
Run Code Online (Sandbox Code Playgroud)

java orm enums hibernate hql

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

使用时区信息进行地理编码

有没有一种方法可以从纬度/经度坐标或物理地址获取带有DST信息的时区信息?

我发现一些似乎提供此服务的Web服务,但我不知道它们可能有多可靠,或者它们是否会在某些时候消失.我的应用需要一些长期的东西.

这些服务是否可靠且长期?还有其他更好的选择吗?

rest timezone web-services geocoding geolocation

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