草庐IT

HTML-Select

全部标签

javascript - Javascript输出JSON内容时,HTML转码应该在服务端转义还是在客户端转义?

我有一个应用程序,它包含一个用PHP编写的服务器端RESTAPI,以及一些使用此API并使用它生成的JSON来呈现页面的客户端Javascript。所以,这是一个非常典型的设置。RESTAPI提供的数据是“不受信任的”,因为它正在从数据库中获取用户提供的内容。因此,例如,它可能会获取如下内容:{"message":"alert("Gotcha!")"}显然,如果我的客户端代码要将其直接呈现到页面的DOM中,那么我已经创建了一个XSS漏洞。因此,此内容需要先进行HTML转义。问题是,输出不可信内容时,应该在服务端转义,还是在客户端转义?即,我的API应该返回原始内容,然后让客户端Java

javascript - 与内联 HTML 相比,如果我使用指令,是否会有很多开销?

我有十二个网页,每个网页都有一组7-10个按钮。按钮后面和周围的代码是6-7行HTML。为了简化编码,我将它们制作成指令,并在每个指令中使用一个简单的内联模板。当一个页面打开并且它必须将我所有的元素转换为指令时是否有很多开销?此外,执行此操作的流程是什么?它会减慢页面的呈现速度吗?我在做什么,这对指令来说是一个好的做法还是有更好的方法可以做到这一点? 最佳答案 1)是的,有开销:指令在Angular的摘要周期期间呈现到标记中。第一个循环将在框架加载后运行。加载的开销可能很大。第一个摘要周期将快速运行。关于多少开销的答案取决于您是否打

asp.net - javascript 添加到 <select> 的选项在回发中丢失

我在客户端通过javascript向select元素添加了一些选项,但无法在回传中获取它。我该怎么办?用于添加选项的代码:varddlProduct="#"+"";$(ddlProduct).append($("").html(product_name) 最佳答案 使用JavaScript添加到下拉列表的选项将永远不会到达服务器端,更不用说在回发期间保留了。选项存储在ViewState中。您正在客户端使用DOM修改下拉列表,但是ViewState呢?您没有修改它,因此当ASP.NET从ViewState重新加载下拉列表的状态时,它不

javascript - 有没有办法让 ExtJS GridPanel 自动调整其宽度,但仍包含在一些非 ExtJS 生成的 HTML 中?

我想在一个更大的布局中包含一个ExtJSGridPanel,而它又必须在我无法控制的一些预先存在的HTML中的特定div中呈现。根据我的实验,GridPanel似乎只有在Viewport内时才会正确调整自身大小。例如,使用此代码,GridPanel会自动调整大小:newExt.Viewport({layout:'anchor',items:[{xtype:'panel',title:'foo',layout:'fit',items:[{xtype:'grid',//definethegridhere...但是如果我用下面的行替换前三行,它不会:newExt.Panel({layout:

javascript - 为什么 .html() 在用于相同目的时比 .text() 快得多?

我正在研究jQuery的.text()和.html()方法并运行somesimplejsPerftests,当我惊讶地发现.html()在检索文本时几乎快了一个数量级:$div.text()–88,496次操作/秒$div.html()–592,028次操作/秒当结果相同时,为什么.text()比.html()慢很多?.text()执行哪些操作.html()会跳过以解释这种差异?我知道每种方法都有不同的目的;我很好奇它们用于相同目的的情况。 最佳答案 它与所需的解析量有关。.text()较慢,因为它必须解析内部HTML并去除任何内部

javascript - Select2 - 按查询排序结果

我使用的是Select2版本4.0.0。如果我的结果包含多个词,并且用户输入其中一个词,我想要显示按输入的单词在结果中的位置排序的结果。比如用户输入“apple”,我的结果是:“香蕉橙苹果”“香蕉苹果橙”“苹果香蕉橘子”那么“applebananaorange”应该首先出现在select2结果列表中,因为这是结果中“apple”最早出现的结果。我不太关心过去的顺序。我要重写或配置什么才能得到这样的东西?似乎matcher没有处理排序,sorter不包含查询数据。 最佳答案 您可以通过使用select2-search__field类标

javascript - Jquery Select element 2 positions further - .next().next() 的另一种方式

我正在寻找一种方法来选择一个div元素,该元素不是通过点击功能“选择”的元素的直接下一个元素。(siblings)text现在我想选择ID为“getthisone”的那个-在我的代码中这个ID不可用。所有的div都具有相同的类并且确实有sibling。我可以通过$(this).next().next()选择第三个,但我认为这不是最好的方法。在被点击的那个之前也可以有div-所以它不一定是第一个。我尝试了:nth-child选择器,但没有找到解决方案。稍后我也可能想在单击一个之后选择第13个(或第23个、第65个等等)。这意味着我想对这个问题有一个相当动态的解决方案。谢谢你的帮助,菲尔

javascript - 道场工具包 : how to escape an HTML string?

我的HTML5应用程序的用户可以在表单中输入他的名字,这个名字将显示在其他地方。更具体地说,它将成为一些HTML元素的innerHTML。问题是,如果在表单中输入有效的HTML标记,这可能会被利用,即某种HTML注入(inject),如果您愿意的话。用户名只在客户端存储和显示,最终受影响的只有用户自己,但还是马虎。在将字符串放入Dojo中的元素innerHTML之前,是否有办法对字符串进行转义?我猜Dojo曾经有过这样的功能(dojo.string.escape()),但它在1.7版本中不存在。谢谢。 最佳答案 dojox.html

javascript - ng-change 不适用于 ng-select

我正在使用由ng-options填充的选择框。不幸的是,我无法调用我的ng-change函数。HereismyFiddle这是我的js:varmyApp=angular.module('myApp',[]);functionMyCtrl($scope){$scope.typeOptions=[{name:'Feature',value:'feature'},{name:'Bug',value:'bug'},{name:'Enhancement',value:'enhancement'}];$scope.scopeMessage="defaulttext";varchangeCount=

javascript - 用于叠加渐变的 HTML5 Canvas globalCompositeOperation 不会增加更高的强度?

我目前正在研究heatmap.js修复,我想知道是否有人知道是否可以使用实现以下效果的2d渲染上下文。我有一个从黑色(alpha0.5)到透明40像素半径的径向渐变。径向梯度的中心在x=50,y=50我有另一个从黑色(alpha0.5)到透明的径向渐变,半径为40像素。径向梯度的中心在x=80,y=50两个渐变是重叠的。我现在的问题是:重叠区域被加在一起导致比径向梯度中心更高的alpha值,从而显示错误的数据(例如,由于梯度之间的这些添加,热图中更热的区域)看看下面的gist,通过在您的控制台中执行它,您可以看到问题所在。预期的行为是:最暗的区域是渐变中心,两个渐变的重叠区域合并但不相