相关疑难解决方法(0)

165
推荐指数
6
解决办法
18万
查看次数

JavaScript和线程

有没有办法在JavaScript中进行多线程?

javascript multithreading

128
推荐指数
7
解决办法
12万
查看次数

indexedDB在概念上与HTML5本地存储有何不同?

  1. indexedDB和本地存储都是键值存储.拥有两个键/值存储的优势是什么?
  2. indexedDB是异步的,但是连接(最耗时的东西)是手动的.它们似乎与异步调用在同一个线程中运行.这怎么会阻止用户界面?
  3. indexedDB允许更大的商店.为什么不增加HTML5商店的大小?
  4. 我在挠头.indexedDB有什么意义?

javascript html5 indexeddb

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

jQuery异步函数调用,没有AJAX请求

这看起来很傻,但我找不到如何使用不涉及某些服务器端请求的jQuery进行异步函数调用.我有一个缓慢的函数,遍历很多DOM元素,我希望浏览器在此函数运行时不会冻结.我想在调用慢速函数之前显示一个小指标,然后当慢速函数返回时,我想隐藏指标.我有以下内容:

$('form#filter', parentNode).submit(function() {
  var form = $(this);
  indicator.show();
  var textField = $('input#query', form);
  var query = jQuery.trim(textField.val());
  var re = new RegExp(query, "i");
  slowFunctionCall(); // want this to happen asynchronously; all client-side
  indicator.hide();
  return false;
});
Run Code Online (Sandbox Code Playgroud)

目前我提交表格并且指标未显示,浏览器冻结,然后slowFunctionCall完成.

编辑:我使用了Vivin的答案,特别是Sitepoint链接来获得以下解决方案:

var indicator = $('#tagFilter_loading', parentNode);
indicator.hide();
var spans = $('div#filterResults span', parentNode);
var textField = $('input#query', parentNode);
var timer = undefined, processor = undefined;
var i=0, limit=spans.length, busy=false;
var filterTags = function() {
  i …
Run Code Online (Sandbox Code Playgroud)

javascript forms jquery asynchronous function

41
推荐指数
3
解决办法
6万
查看次数

我是否需要关注异步Javascript的竞争条件?

假设我加载了一些我将来会知道将要调用window.flashReady并将设置的Flash影片window.flashReadyTriggered = true.

现在我有一段代码,我想在Flash准备就绪时执行.如果window.flashReady已经被调用,我希望它立即执行它,如果尚未调用它我想把它作为回调window.flashReady.天真的方法是这样的:

if(window.flashReadyTriggered) {
  block();
} else {
  window.flashReady = block;
}
Run Code Online (Sandbox Code Playgroud)

因此我基于此的关注是,if条件中的表达式被评估为false,但之后block()可以执行,window.flashReady由外部Flash触发.因此,block永远不会被称为.

是否有更好的设计模式来实现我想要的更高级别目标(例如,手动调用flashReady回调)?如果没有,我是安全的,还是我应该做的其他事情?

javascript

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

强制jQuery ready块在所有其他就绪块之后运行

在所有其他人都这样做之后,是否可以执行一个jQuery ready块.

我在我的母版页中有这个...

<script type="text/javascript">
    $(document).ready(function()
    {
        $("input[type='text']:enabled:first", document.forms[0]).focus().select();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这在我的其他页面之一......

<script type="text/javascript">
    $(document).ready(function()
    {
        $('textarea.message-body').wysiwyg();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我看到的问题是第一个块在第二个块之前执行,这导致tab键出现问题.发生的事情是,当我按Tab键时,键盘焦点会转到浏览器中的地址栏.我已经稍微更改了代码以在我的母版页中显示...

<script type="text/javascript">
    $(document).ready(function()
    {
        var bodies = $('textarea.message-body');
        if (bodies.length > 0)
        {
            bodies.wysiwyg();
        }

        $("input[type='text']:enabled:first", document.forms[0]).focus().select();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

并完全取消另一个准备好的块.这样做可以使Tab键正常工作,并将焦点设置到我的textarea上.

我宁愿在母版页中没有特定于页面的代码.

那么,有没有办法让我的文本框聚焦代码在wysiwyg代码之后运行?

jquery

13
推荐指数
3
解决办法
6250
查看次数

在JavaScript中增量是一个原子操作吗?

在JavaScript中增量是一个原子操作吗?如果一个线程正在访问++i;,同时另一个线程 开始访问该操作会有任何问题吗?

javascript multithreading atomic thread-safety

10
推荐指数
3
解决办法
3933
查看次数

IE6中的JavaScript多线程?

IE6中的JavaScript多线程是否可行?

有没有第三方图书馆?

javascript multithreading

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

javascript中的线程(或类似的东西)

我需要让一段代码始终独立于其他代码运行.有没有办法在javascript中创建一个线程来运行这个功能?

- 为什么setTimeout对我不起作用

我尝试过,但它只运行一次.如果我以递归方式调用该函数,它会在一段时间后抛出"过多的递归"错误.我需要每100毫秒运行一次(这是与嵌入式系统的通信).

- 如你所知,这里有一些代码

function update(v2) {
     // I removed the use of v2 here for simplicity
     dump("update\n"); // this will just print the string
     setTimeout(new function() { update(v2); }, 100); // this try doesn't work
}
update(this.v);
Run Code Online (Sandbox Code Playgroud)

它抛出"过多的递归".

javascript multithreading

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

Javascript是否支持多线程?

可能重复:
为什么JavaScript不支持多线程?

有没有办法产生新的线程来运行任务(网络内容或一些繁重的计算)并行工作?

javascript browser multithreading

0
推荐指数
1
解决办法
303
查看次数