小编Chr*_*phe的帖子

样式innerHTML

我试图理解样式标签与innerHTML一起使用时的行为.

我做了3个实验:

使用现有规则的样式,innerHTML会插入其他选择器规则

结果:两条规则都适用.演示:http://jsfiddle.net/Tcy3B/

使用现有规则的样式,innerHTML插入相同的选择器规则

结果:忽略新规则.演示:http://jsfiddle.net/Tcy3B/1/

空样式,innerHTML插入规则,然后另一个innerHTML插入另一个规则

结果:第二条规则覆盖第一条规则.演示:http://jsfiddle.net/Tcy3B/2/

任何人都可以解释这个逻辑吗?这对我来说完全是随机的,有时第二条规则被添加到第一条规则中,有时会被忽略,有时它会覆盖第一条规则.

背景:我们的想法是构建依赖于css而不是JavaScript的动态UI,如此全文搜索示例所示.

举个例子,这是第二个演示的代码:

HTML:

<style type="text/css">
  .red {color:red;}
</style>
<div class="red">red</div>
<div class="blue">blue</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

var st=document.getElementsByTagName("style")[0];
st.innerHTML=".red {color:blue;}";
Run Code Online (Sandbox Code Playgroud)

javascript css styles innerhtml

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

有条件的承诺

在我的脚本中,我需要检索字典以将编码值转换为名称:

$.ajax({
    // retrieve dictionary
})
.done(function(dictionary){
    // convert encoded values into names
})
.done(function(){
    // run my application
});
Run Code Online (Sandbox Code Playgroud)

但是,有时字典已经被另一个应用程序加载,在这种情况下我不需要ajax调用:

if (dictionary) {
    // convert encoded values into names
    // run my application
}
else {
$.ajax({
    // retrieve dictionary
})
.done(function(dictionary){
    // convert encoded values into names
})
.done(function(){
    // run my application
});
}
Run Code Online (Sandbox Code Playgroud)

这个if/else语句相当重,是否有办法缩短它:

// load dictionary if needed
// then run my application
Run Code Online (Sandbox Code Playgroud)

注意:我使用$ sign作为我的伪代码,但我不一定与jQuery绑定.

javascript ajax promise

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

AJAX返回JSON - 我错过了什么?

我正在使用SharePoint 2010 REST API,它可以以xml或JSON格式返回数据.对于我的场景,我需要JSON.

使用jQuery一切正常:

$.ajax({
     type:"GET",
     url:url,
     dataType:"json",
     success: function(data, textStatus, jqXHR){...}
   });
Run Code Online (Sandbox Code Playgroud)

但我无法在纯JavaScript中获取JSON,数据以xml形式返回.我错过了什么?

var XHR=new XMLHttpRequest();
XHR.open("GET", url, true);
XHR.setRequestHeader("Content-Type","application/json");
XHR.onreadystatechange = function () {
if (XHR.readyState == 4 && XHR.status == 200) {...}};
XHR.send(null);
Run Code Online (Sandbox Code Playgroud)

ajax json sharepoint-2010

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

跨浏览器另存为.txt

是否有一个JavaScript库,允许将字符串保存为txt文件,并跨浏览器工作?

在过去,我一直在使用Downloadify,但我正在寻找另一个选项,原因有两个:

  • 我希望找到一个纯JavaScript解决方案,而不需要Flash
  • 似乎Downloadify不再更新(过去18个月内没有更新)
  • 我在IE 9中遇到了Downloadify的问题,其中字符串被截断

javascript save-as execcommand data-uri

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

CORS优于跨域消息传递

CORS和跨域消息传递对我来说看起来是一样的:它们允许跨域通信.

是否有任何理由使用一个与另一个?

javascript postmessage cross-domain cors

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

这个浏览器技术有名称吗?

这项技术的名称是否包含浏览浏览器中打开的页面以查找特定内容并进行修改?

一些例子:

  • Skype在页面上找到电话号码,并附上呼叫菜单
  • 脚本在页面中查找百分比并用小饼替换它们
  • 广告引擎在页面中查找关键字并将其转换为超链接
  • 在页面上指向另一个域的所有超链接旁边添加一个图标
  • 等等

我知道这是一种渐进的增强.但我对第一步,内容发现过程特别感兴趣.我会对提供最佳实践的文章感兴趣,或者解释这种技术的缺点.

编辑:我添加了一个示例来说明这种技术不仅适用于文本节点,还适用于任何类型的html内容.

javascript browser progressive-enhancement

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

JavaScript图表库的速度比较

我正在开发一个动态报表,由于数据更改或分析需求,需要根据需要重新创建图表.

我对目前市场上可用的JavaScript图表工具的速度比较感兴趣.

我正在处理几千个数据点,我需要对各个维度(日期,市场,类型,客户)进行切片和切块.

javascript performance charts svg canvas

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

我可以在JavaScript中创建自己的数组对象吗?

我创建了一个JavaScript应用程序,它有很多数组操作(排序,过滤等).

目前我的功能是这样的:

function (myArray, arg1, arg2,...)
Run Code Online (Sandbox Code Playgroud)

其中myArray是我正在处理的数组,而arg1,arg2,...是函数用来修改数组的参数.

我认为在对象和参数之间进行明确的分离会更简洁(la jQuery):

myArray.function(arg1, arg2,...)
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用Array.prototype将我的函数添加到所有数组,但是这看起来太重了,因为我添加的函数非常特定于我的情况,并且通常对数组没有意义.我也知道我可以创建一个对象,但是我不会受益于JavaScript中可用的数组方法(indexOf,filter等).

有没有办法可以创建自己的数组对象,继承默认数组方法并允许我添加自己的数组对象?

javascript arrays object

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

JSON对象GUI

我想为我的用户提供一个编辑JSON对象的界面.

例如,我有一个使用以下选项调用Google图表的JavaScript:

var options={
    chartType: "Pie",
    title:"Chart title",
    is3D:false,
    width:500,
    height:300,
};
Run Code Online (Sandbox Code Playgroud)

理想情况下,我的用户应该能够自己修改选项而无需查看代码.它们将显示从对象自动构建的UI,其中:

  • chartType是一个选择(饼图,线条,条形图)
  • title是文本输入
  • is3D是一个复选框
  • 等等

这有图书馆吗?如果没有,任何建议开始?

我当然可以手动构建表单,但我们的想法是拥有适用于任何对象的通用解决方案.

javascript user-interface json

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

忽略脚本类型是一个好习惯吗?

可能重复:
HTML5 <script>声明

我听说有些人说你不需要type="text/javascript"<script>标签中指定一个,因为这是默认类型.

如果我打开我的脚本标签<script>而不是更详细的话,是否有任何缺点<script type="text/javascript">

html

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