问题标签 [unobtrusive-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.
javascript - 生成不显眼的 JS
我已经阅读了很多关于不显眼的 JS 以及如何生成它以及所有爵士乐的内容......
我的问题是:我有一个严重依赖的网站mod_rewrite
,所以基本上所有页面请求都发送到index.php
生成页面的主要结构,然后包含适当的页面。现在,站点中有不同的部分,每个部分使用不同的 Javascript 函数(例如,用于不同的 AJAX 请求)。
现在,如果我只是将一个函数附加到onload
页面上,显然这件事是行不通的,因为我不必为每个页面初始化相同的东西......那么处理这种情况的最佳方法是什么?
我希望情况很清楚,如果需要,我很乐意澄清
ssl - jQuery AJAX 请求(Rails 3)被重定向并返回空消息正文(仅使用 SSL)!
我正在尝试通过以下方式执行手动 jQuery AJAX 请求:
我的标题中包含“rails.js”文件和一个“<%= csrf_meta_tag %>”。
我从日志中看到请求正在到达服务器(尽管没有真实性令牌...... rails.js 甚至会这样做吗?),但响应是 302(找到)而不是 200,实际上没有数据得到呈现。
有任何想法吗?
编辑:我现在看到第一个请求重定向,并且正确的部分在重定向上呈现。但是,第二个响应的正文(在客户端)仍然是空的。我猜 jQuery 使用第一个响应并且没有为重定向设置监听器。我该如何解决这个问题?
另外,另一个注意事项:进行请求的页面是 HTTPS 页面。
这是我的日志所说的:
事实证明,如果我关闭该页面的 SSL 要求,它就可以工作!不过,我仍然不知道为什么。所以我想我的问题是:解决方法是什么?
configuration - 如何自我识别脚本标签在 DOM 中的位置?
可能有更好的方法来做到这一点,但目前我有一个封装良好的 JavaScript 对象,它可以有一些可配置的选项。我在页面上包含了一大段 HTML 代码(通过 Dreamweaver 'snippets'),在页面加载时,我的 JS 文件通过 DOM 运行,并将这些代码块中的任何一个标识为特定功能,然后继续设置该功能。
在我希望在页面上添加多个对象并让它们可配置之前,这一切都很好。这里重要的一点是,您可以使用我当前的设置将任意数量的这些对象添加到页面上——因为它们在那时是通用的,并且没有“id”属性。
现在我希望配置这些对象,所以我想,“如何包含配置设置的外部文件,如果找到配置对象,这些对象会检查并应用这些设置”。这也很好用,但配置数据现在感觉有点“删除”了。我想这最终会让我的其他同事感到恼火,这只是另一件事要记住。
所以对于我的问题,我很高兴插入这些代码块,它们仍然会在页面加载时触发自实例化对象 - 但我想尝试的是插入一个包含配置设置的脚本块。我需要一种插入代码块的方法,知道它的父元素是配置的上下文。
示例代码:
注意:<div class="snippet">
故意没有 'id' 属性,因为我想允许将多个其中之一拖放到页面上。
欢迎其他解决方案,只要它们遵守我的一些限制!
javascript - 在rails 3上使用ujs渲染部分并且没有AJAX调用
我需要使用嵌套表单和 jQuery 进行多个文件上传。所以我使用 link_to_function 方法编写了一个助手:
此代码只是创建一个链接,如果按下该链接,则会呈现一个新的文件上传嵌套表单。即使我使用的是 rails3 beta4(而且我知道“link_to_function”已被弃用),它也能出人意料地工作
有没有更好的方法来做同样的事情而不使用 link_to_function 或一些 AJAX 调用?
提前致谢 ;)
javascript - 外部站点中不显眼的模态窗口
对不起标题.....有点难以说出我真正想问的问题。
一些网站允许用户复制和粘贴一些小部件以用于他们自己的网站。例如,得到满足。是的,我希望你们中的大多数人在各个地方都能看到这些反馈图标。
如果您查看twitterfeed,左侧会有一个反馈图标,单击后会出现一个漂亮的模态窗口。模态窗口内容位于外部源的 iframe 中。
我真的很喜欢这个,但我的问题是:
我可以通过对模态窗口使用一些 jQuery 库然后将模态内容链接到我页面上的站点来做同样的事情,但是我如何阻止这对其他 javascript 文件的站点变得突兀?
例如,假设我正在使用我的 js 代码和相关的 jquery 代码,并且我已将其压缩到一个文件中。用户将我的小部件添加到他们的网站。如果他们使用 jQuery,我如何确保我的代码不会干扰他们的代码?
最好的方法是使用不是很流行的模态窗口库吗?
非常感谢。希望这是有道理的!
编辑:我可以编写自己的模态窗口功能代码,但我更愿意使用已经完成的库。
jquery - 使用不显眼的 JavaScript 更新元素
如您所知,当您从 Rails 2 升级到 3 时,您会替换:
有了这个:
但是如何处理 link_to_remote 中的 :update 选项?在Railscast #205中, Ryan Bates 演示link_to
了:remote
一个服务器响应,其中包含用于更新页面中特定元素的 JavaScript 代码,但这种做法对我来说似乎是错误的。我希望我的服务器的响应是一个简单的 HTML 片段,它易于测试并且可以由不同的页面(客户端)以不同的方式使用。我认为服务器不必知道请求页面上目标元素的 ID,因为它将操作与页面(迷你客户端)联系起来,因此使其不那么通用(它也比纯 HTML 更难看)回复)。
所以,明确地说,有没有办法做这样的事情:
使用 Rails 3 和 UJS?还是我必须编写 JavaScript 来捕获服务器的 HTML 响应并将其插入到页面上的正确元素中?
如果是后者,请描述最佳方法(可以使用link_to
's:remote
选项吗?)。
javascript - 插件/Gem 在 Rails 2.3.x 中获取 Rails 3 风格的 UJS?
我有一个新的应用程序开始使用 Rails 2.3.8 来解决稳定性问题和 gem 兼容性,但是我们想通过在这个应用程序中实现 Rails 3 风格的 UJS 来开始意识到 Unobtrusive JavaScript。是否有任何现有的插件/宝石可以支持此功能?
我们目前正在使用jrails gem 将 jQuery 替换为 Prototype,因为它更适合我们的需求。有没有一种简单的方法可以在 Rails 2.3.x 应用程序中将 jQuery 与 Rails 3 风格的 UJS 集成?
javascript - Javascript 最佳实践 - onclick vs unobtrusive
在我们的项目中,目前我有以下问题。我必须将一些点击绑定到锁定元素列表,如下所示:
点击.listelement
应该向具有特定参数的特定操作发送请求,例如 element-id 和类似的东西 (-> module/action?id=1&something=something)。
我想编写一个通用请求类来发送请求并处理与点击和请求有关的所有事情,我不确定这是否是将点击不显眼地绑定到类.listelement
并保存的好方法我的标记中某处的操作和参数信息,或者如果通过onclick="sendRequest(action, params)"
.
在我看来,obtrusive-onclick-solution 似乎要容易得多,但我不确定它是否也是一个好的解决方案。
如果有人可以对此发表意见,我会很高兴。
javascript - 使用来自外部 JS 文件的 Google Analytics 异步代码
我正在尝试将 Google Analytics 跟踪代码的异步版本添加到网站。
我想将 JavaScript 保存在一个单独的文件中,然后从那里调用它。
这是我目前在 .js 文件中的内容:
这就是我在<head>
母版页的标签中得到的内容:
但是,显然有一个问题,因为几天后,我没有通过统计数据!
有什么想法我需要改变吗?
谢谢,尼尔
编辑:好的......在下面的一些反馈之后,我将添加我的 .js 文件的新当前内容。我会保持更新,以便如果/当这个问题得到解决,它有望帮助其他尝试做类似事情的人。
javascript - 关于不显眼的 javascript/ajax 的指南/教程
谷歌并没有产生令人满意的结果。如果人们可以提供一些建议,我将不胜感激。谢谢。