问题标签 [javascript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
44548 浏览

javascript - 样式显示在 Firefox、Opera、Safari 中不起作用 -(IE7 可以)

我有一个绝对定位div,我想在用户单击链接时显示。链接的onclick调用了一个js函数,该函数将div的显示设置为阻塞(也尝试过:“” inline,,,,table-cellinline-table)。这在 IE7 中效果很好,在我尝试过的所有其他浏览器(FF2、FF3、Opera 9.5、Safari)中都没有。

我尝试在通话前后添加警报,它们显示显示已从 更改为noneblock但未div显示。

div如果我使用 Firebug 的 HTML 检查器更改显示值(但不是通过 Firebug 的控制台运行 javascript),我可以在 FF3 中显示 - 所以我知道它不仅仅是在屏幕外显示,等等。

我已经尝试了我能想到的一切,包括:

  • 使用不同的文档类型(XHTML 1、HTML 4 等)
  • 使用可见性可见/隐藏而不是显示块/无
  • 使用内联 javascript 而不是函数调用
  • 从不同的机器测试

关于可能导致这种情况的任何想法?

0 投票
6 回答
9009 浏览

javascript - 在浏览器中获取选定的文本,跨平台

我想在基于浏览器的应用程序中做的一件事是允许用户选择一些文本(不是在 <textarea> 中,只是纯文本!),然后让我的应用程序弹出一个小工具栏然后可以与下一个交互(在我的例子中,添加注释)。

我在谷歌上找到了很多似乎专注于编写所见即所得编辑器的东西,但这不是我想要的,而且大部分都在 IE 中工作,但在 FF2 或 3 中没有。理想情况下,我想要一些可以在IE7(和 6,如果可能)、FireFox 2 & 3 和 Safari 2中工作的浏览器窗口中返回当前选定文本的函数。如果它在 Opera 中工作,那将是一个奖励,但这不是必需的。

任何人都有这样做的功能?或者知道从哪里开始?

0 投票
5 回答
7410 浏览

javascript - 如何使用 jQuery 在代码标签中添加 pre 标签?

我正在尝试使用jQuery格式化代码块,特别是在<pre>标签内添加<code>标签:

Firefox 正确应用格式,但 IE 将整个代码块放在一行上。如果我添加警报

我看到 IE 在 pre 标记中插入了一些额外的文本:

如果我重新加载页面,jQuery 后面的数字会发生变化。

如果我使用wrap()而不是wrapInner(), 来包装标签的<pre>外部<code>,IE 和 Firefox 都会正确处理它。但不应该在里面<pre>工作吗? <code>

我更喜欢使用wrapInner(),因为我可以在<pre>标签中添加一个 CSS 类来处理所有格式,但是如果我使用wrap(),我必须将页面格式 CSS 放在<pre>标签中,并将文本/字体格式放在<code>标签中,或者 Firefox 和 IE都窒息。没什么大不了的,但我想让它尽可能简单。

有人遇到过这种情况么?我错过了什么吗?

0 投票
8 回答
3273 浏览

javascript - 是否有一种“简洁”的方式在 JavaScript 中进行命名空间?

我经常遇到将所有 JavaScript 都放在一个namespace结构中的网站,其结构如下:

但是,相对于其他命名空间框架安全地设置它似乎需要相对大量的代码(定义为 > 2 行)。我想知道是否有人知道这样做的简洁方法?此外,是否有一种相对标准/一致的方式来构建它?例如,com命名空间是直接附加到全局对象上,还是通过命名空间对象附加?

[编辑:哎呀,显然{com = { ... } }不会完成任何接近我预期的事情,感谢 Shog9 指出这一点。]

0 投票
6 回答
67176 浏览

javascript - 使用 JavaScript 滚动溢出的 DIV

我有一个 div,它使用 overflow:auto 将内容保留在 div 中,因为它被调整大小并在页面上拖动。我正在使用一些 ajax 从服务器检索文本行,然后将它们附加到 div 的末尾,因此内容向下增长。每次发生这种情况时,我想使用 JS 将 div 滚动到底部,以便可以看到最近添加的内容,类似于聊天室或命令行控制台的工作方式。

到目前为止,我一直在使用这个片段来做到这一点(我也在使用 jQuery,因此使用了 $() 函数):

然而,它给了我不一致的结果。有时它可以工作,有时不能,如果用户手动调整 div 大小或移动滚动条,它就会完全停止工作。

目标浏览器是 Firefox 3,它被部署在一个受控的环境中,所以它根本不需要在 IE 中工作。

有什么想法吗?这个让我难住了。谢谢!

0 投票
9 回答
130480 浏览

javascript - 如何使用 JavaScript 删除 HTML 中的子节点?

有没有类似的功能document.getElementById("FirstDiv").clear()

0 投票
4 回答
388 浏览

javascript - 基于树(与基于 HTML)的 Web 框架?

任何编写客户端 JavaScript 的人都熟悉 DOM——浏览器在内存中引用的树结构,由它从服务器获取的 HTML 生成。JavaScript 可以添加、删除和修改 DOM 树上的节点以对页面进行更改。我发现使用它非常好(除了浏览器错误),并且与我的服务器端代码首先生成页面的方式非常不同。

我的问题是:哪些服务器端框架/语言从一开始就将其视为 DOM 树来构建页面 - 插入节点而不是回显字符串?如果客户端和服务器端代码都以相同的方式查看页面,我认为这将非常有帮助。您当然可以在任何 Web 服务器语言中一起破解类似的东西,但是专用于以这种方式创建页面的框架可以进行一些非常好的优化。

开源、被广泛部署并且已经存在了一段时间都是优点。

0 投票
3 回答
9210 浏览

javascript - 执行 JavaScript 以呈现 HTML 以进行服务器端缓存

网站提供了许多小部件,这些小部件实际上是 JavaScript 的一部分,它们通过DOM操作生成 HTML 或document.write(). 我不想通过额外的请求进一步降低浏览器的速度,并相信另一个提供程序快速、可靠且不会更改小部件输出,我想执行* JavaScript 以生成呈现的 HTML,然后保存该 HTML 源。

我研究过的事情似乎不可行或太难了:

  1. 链接浏览器(不是 lynx!
  2. 无头使用 Xvfb 加 Firefox 加 Greasemonkey ( yikes )
  3. 全 Java 浏览器工具包 Cobra(最好的选择!

有任何想法吗?

** 显然你不能真正完全执行 JavaScript,因为它不一定有退出路径,但你明白了。

0 投票
14 回答
31814 浏览

javascript - 用 JavaScript 构建独立应用程序

随着 YUI、JQuery 和 Prototype 等 JavaScript 框架以及 Firebug 等调试工具的强大功能,完全使用浏览器端 JavaScript 编写应用程序似乎是制作简单应用程序(如益智游戏和专用计算器)的好方法。

除了暴露你的源代码之外,还有什么缺点吗?您应该如何处理此类程序的数据存储?

编辑:是的,Gears 和 cookie 可用于本地存储,但您无法轻松访问用户已经拥有的文件和其他对象。如果不让用户调用某些浏览器功能(例如打印到 PDF 或将页面另存为文件),您也无法将数据保存到文件中。

0 投票
3 回答
2025 浏览

javascript - 日期对象上的 getUTC* 方法有什么作用?

在 JavaScript 中获取或创建 UTC 格式的日期是什么意思?