Zac*_*ack 7 html javascript asp.net dotnetnuke onclick
我们有一个DotNetNuke模块在DotNetNuke 5.4.4的实例中运行,安装在"Server A"上,这是一台带有IIS 6.1和Internet Explorer 11的Windows Server 2008 R2 Standard机器.
我们使用Internet Explorer 9从运行Windows Server 2008 Standard的"Server B"访问我们的DotNetNuke模块.
当我们onclick在服务器B上访问我们的模块时,单击具有属性的锚点html元素时会发生此问题.
onclick的锚点如下:
<a onclick='OpenWindow("/DotNetNuke/DesktopModules/Module/View.aspx?dt=%c2%b2%c2");return false;'
href="http://000.00.0.0/DotNetNuke/DesktopModules/Module/View.aspx?dt=%c2%b2%c2"
target='_blank'
jQuery1431968126278="42">Doc name (SSN-SS-SSNN)</a>
Run Code Online (Sandbox Code Playgroud)
而OpenWindow函数就是这样的
function OpenWindow(url) {
window.open(url, '', 'top=15,scrollbars=yes,menubar=no,height=800,width=800,resizable=yes,toolbar=no,location=no,status=no');
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我们有一个带有onclick属性的anchor元素,它应该调用OpenWindow javascript函数,然后返回false,因此单击一个锚点(浏览到href)的默认操作不会发生.
当我们单击此链接时(仅在服务器B上),我们没有弹出窗口,OpenWindow函数中没有断点,浏览器通过打开一个新选项卡(View.aspx)导航到href.这告诉我,onclick属性引用的OpenWindow函数由于某种原因甚至不运行,即使它在anchor元素上,并且可以在任何其他服务器上运行.
我比较了服务器A DotNetNuke和我的本地开发人员DotNetNuke实例之间的安全设置,web.config文件和DotNetNuke设置,发现设置没有差异.
我将Server B Internet Explorer安全设置与我的安全设置进行了比较,发现设置没有差异.
根据对此问题的评论建议,我尝试将锚标记更改为span标记(删除了href和目标属性),我看到了相同的行为.它适用于服务器A和开发人员,但现在不在服务器B上执行任何操作.我认为核心问题是onclick属性未被识别,或者被某种方式阻止.
我现在更进一步,将大多数<a>...</a>标签更改为<span>...</span>标签,使用特定的类,然后我将jQuery(...).live('click', ...)处理程序附加到(使用jQuery 1.4.2).这是允许点击工作,但我仍然没有解决为什么忽略onclick属性.
如果我打开开发人员工具(IE9),然后单击"编辑"按钮再次打开和关闭编辑模式,锚标签和img标签上的所有onclick属性开始正常工作,直到我重新加载页面.
如果我通过开发人员工具以任何方式手动编辑onclick处理程序,比如说return false;从onclick处理程序中删除它,它会工作,但是如果我把return false;它放回去使它像我从未改变任何东西那样,它会再次停止工作.
我正在找一块墙来检查这个问题.我无法在我的开发人员计算机上重现它,它也适用于服务器A,所以代码工作得非常好.我想我必须有一个设置,我忽略了某个地方,但在哪里?我不知道此时还有什么要检查,我正在寻找想法.
我没有确切的答案,但我可以告诉您正在发生的事情及其原因。
两台服务器没有获得相同的内容——也许它们指向不同的 CDN,也许其中一台服务器在某处有 JavaScript 文件的旧文件——您必须一一浏览它们。
某个地方的某些东西正在将 onclick 处理程序应用于所有锚标记。
起初我以为它是附加在 body 元素上并针对您的链接的东西,但我排除了这一点。事实上,您可以编辑 HTML 并保存它,然后链接就可以工作,这意味着您正在分离附加到该链接元素的任何内容。
我会:
diff针对这两个目录运行工具。| 归档时间: |
|
| 查看次数: |
2021 次 |
| 最近记录: |