问题标签 [behavior]
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.
jquery - 点击行为 - IE 和 FF 的区别?
我刚刚得出的结论是,我目前正在从事的项目可能在功能上存在“逻辑”错误。
目前我正在使用 PHP/MySQL 和 JQuery 的服务器技术。在页面内有一个带有标签的普通链接引用
现在的痛点似乎是同一元素上给定的 jquery 点击事件。意图是通过另一个使用 php session 命令的 php 脚本保存页面的(当前)内容(-> 表单元素)。出于任何原因,IE 可以在执行标准 html 命令之前处理 Jquery 的单击事件,该命令使用新的页面参数再次重新加载当前页面。通过使用 FF,行为是不同的。我假设,FF 首先执行 html 命令,然后执行处理点击事件的 javascript 代码。因此这里的结果集是错误的,分别为空。
我现在的问题是你是否有同样的经历以及你如何处理/围绕这个问题。
如果您提供任何提示或进一步的反馈,我将不胜感激。也许你也有一个关于如何重新思考当前架构的解决方案。
问候,奥利弗
dependency-injection - 构建高度可配置的软件产品的最佳实践
我正在开发一种可以根据提供的配置和元数据显着改变行为的软件产品。
我想知道构建/构建高度可配置的软件产品的最佳实践。考虑到有大量的配置参数,我想先看看不会影响性能的东西,然后再看依赖注入。我的平台是.Net ...我寻求有关架构/设计和实现方面的建议。
orm - ORM 对 OO 设计是否适得其反?
在 OOD 中,据说对象的设计以其身份和行为为特征。
在我看来,过去使用过 ORM 的主要目的是围绕存储/检索数据的能力。也就是说,ORM对象不是按行为设计的,而是数据(即数据库表)。案例和要点:许多 ORM 工具都带有指向数据库表和点击对象生成器。
如果对象不再以行为为特征,在我看来,这将混淆对象的身份和责任。随后,如果对象不是由职责定义的,这可能会导致紧密耦合的类和整体糟糕的设计。
此外,我认为在应用程序设置中,您将面临可伸缩性问题。
所以,我的问题是,你认为 ORM 对 OO 设计会适得其反吗?也许潜在的问题是它们是否对应用程序开发产生反作用。
php - gd 函数上的奇怪 php 行为
我遇到了一个非常奇怪的 PHP 行为,我不明白它为什么会这样。我以这种方式使用 imagesetbrush 功能:
以这种方式它可以工作,但是如果我像这样更改代码:
它不再起作用了。你看到一些错误吗?它没有向我显示任何消息,它根本不执行该功能。
java - Wicket:无序列化的有状态页面中的无状态 AJAX 行为
我有非常有状态的页面,其中包含大量 AJAX 组件。这些组件中的大多数都具有行为,这些行为将用于调用 AJAX 请求的 JavaScript 代码呈现给 Java 代码。因为页面不是无状态的,每个请求都会导致页面序列化。到现在为止还挺好。
但是其中一些 AJAX 请求永远不会更改页面,因此不需要对页面进行序列化。例如,它是(自制)数据网格组件的前向缓存数据。这些请求不断调用,每个请求期间的页面序列化会导致延迟。
有一些无状态 wicket 组件的项目,例如wicket-stateless,但它解决了另一种情况 - 无状态组件的请求在无状态页面的新实例上处理。我想处理现有有状态页面实例上的请求,但没有序列化。
我曾尝试在自己的方法中实现这一点RequestCycleProcessor.resolve()
,但我一直在从 requestParameters 搜索页面,因为Session.getPage()
总是触及页面并且它会在请求处理后导致序列化。
- 有没有什么例子,想法,在 Wicket 中实现这个?
希望这是可以理解的:)
internet-explorer - 处理 301 重定向时的客户端 Web 浏览器行为
RFC 似乎建议客户端应该永久缓存响应: http ://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
10.3.2 301 永久移动
请求的资源已被分配一个新的永久 URI,并且任何将来对该资源的引用都应该使用返回的 URI 之一。如果可能,具有链接编辑功能的客户端应该自动将对 Request-URI 的引用重新链接到服务器返回的一个或多个新引用。除非另有说明,否则此响应是可缓存的。
新的永久 URI 应该由响应中的 Location 字段给出。除非请求方法是 HEAD,否则响应的实体应该包含一个简短的超文本注释,其中包含指向新 URI 的超链接。
如果收到 301 状态代码以响应 GET 或 HEAD 以外的请求,除非用户可以确认,否则用户代理不得自动重定向请求,因为这可能会改变发出请求的条件。
我很难为任何主要浏览器找到具体的浏览器文档来说明它们如何处理这些。
我已经开始挖掘 Firefox 的源代码,但很快就迷路了。
以下场景是否适用于哪些(如果有)浏览器,是否有针对 Firefox 或 IE 的明确文档说明了这一点?:
第一次周围:
- 1.1:用户输入指向站点A的链接,或点击指向站点A的链接
- 1.2:浏览器第一次在站点A解释链接,没有缓存。将 GET 发送到站点 A。
- 1.2:站点 A 响应 301 重定向到站点 B
- 1.3:浏览器向站点 B 发送 GET。
任何后续时间:
ruby-on-rails - Rails Actionmailer 处理失败的消息
我在 linux 机器上使用 rails 2.2.2 并使用 rake 任务发送一些电子邮件。这是一个非常简单的脚本,没有错误处理:
1.) 获取要发送的电子邮件 2.) 发送电子邮件 3.) 将电子邮件标记为已发送
现在,smtp 服务器上的端口已被暂时阻止,因此步骤 1 和 3 正在完成,但未完成步骤 2。我的问题是,当我取消阻止端口时,以前失败的消息是否在某处排队(并且将要发送) 还是他们超时并获得 /dev/nulled?如果他们在某个地方排队,我可以获得文件位置吗?我只想了解这种行为,以便构建适当的错误处理。谢谢,
德鲁
oracle - 视图只执行它们需要的连接,还是总是执行所有连接?
我在甲骨文数据库上。可以说我有一个连接到三个表的视图。该视图各有两个字段。每个字段只需要来自三个表中的两个的数据。
如果我查询视图并仅返回一个字段,该视图是否仍连接到三个表或仅连接到它需要计算字段的两个表?
c# - C# - foreach 表现出奇怪的行为/工作没有问题
今天我编写了一个使用两个嵌套 foreach 循环的函数。在看到它没有按预期工作后,我对其进行了调试。但我没有看到错误,并且不认为一个简单的错误会导致我注意到的行为。
该部分如下所示:
可以说,checkedListBoxItemList.items 包含 4 个 MyClass 类型的项目,而 ActiveItemList 是一个具有 2 个项目的 List< MyClass >。
调试器跳入外部foreach,到达内部foreach,执行if 2 次(每个cActiveItem 一次)并到达外部foreach 的末尾。现在,调试器按应有的方式跳回外部foreach 的头部。但是,调试器并没有开始第二轮外部 foreach,而是突然跳入 MyClass.ToString() 方法。我可以逐步执行此方法 4 次(checkedListBoxItemList.Items 中的项目数),然后......什么都没有。Visual Studio 向我展示了我的 windows 窗体,并且 foreach 没有继续。
将代码更改为
一切正常,如预期的那样。我向一位同事展示了这个问题,但他也不明白发生了什么。我不明白为什么调试器会跳转到 MyClass.ToString() 方法。我使用 F10 单步执行,因此无需离开该功能。甚至,如果有原因,为什么不继续 foreach 循环?
我正在使用 Visual Studio 2010,如果有任何问题的话。
请告诉我发生了什么事。谢谢。
php - 在 CakePHP 中合并条目
假设我有一个模型,例如用户,我想合并这个模型的两个实例,比如将用户 2 合并到用户 1。这就是我的意思:
如果一个字段已经填写在 User1 中,它应该保持不变
如果 User1 中缺少字段但 User2 中存在,则应复制该字段
如果 SomeModel BelongsTo User,每个指向 User2 的 SomeModel 实例都应该修改为指向 User1
如果 SomeModel HasAndBelongsToMany 用户相同
如果 SomeModel HasMany User,并且 SomeModel1 有 User2 但没有其他实例有 User1,则应修改为 SomeModel1 有 User1
如果 SomeModel HasMany User,SomeModel1 有 User1,SomeModel2 有 User2……好吧,我不确定这里,我想唯一的解决方案是丢弃 SomeModel2,因为 User1 只能属于一个 SomeModel。
最后应该删除 User2。
有没有办法自动化这个?也许是一种行为?如果没有,我可能会考虑创建它,因为我会非常需要它。