[英]Can Windows' enhanced security break jQueryUI's datepicker?
我在嘗試調試幾個月前離開公司的人開發的 ASP.NET + jQuery + jQueryUI web 應用程序時遇到了一個奇怪的問題。
問題:
我們使用 Windows Server 2008 R2 虛擬機或 Windows Server 2003 R2 虛擬機進行開發,它們都由所有開發人員通過終端服務共享,並由我們的 IT 部門控制。
它們都帶有 Internet Explorer 8,並具有增強的安全性。
當我嘗試調試應用程序或嘗試在測試站點上導航它時,某些 JavaScripts function 無法正常工作。
其中之一是 jQueryUI 的 datepicker:日歷打開,但是當我點擊一個日期時沒有任何反應。
我已經在 Internet Explorer 的受信任站點中添加了http://localhost
和測試站點,但無濟於事; 如果我將它們從受信任的站點列表中刪除(因此它們在 Internet 區域中運行),則不會執行 JavaScript。
問題:
這個問題可能是由 Windows 增強的安全性引起的嗎?
如果沒有,我可以嘗試縮小罪魁禍首的范圍?
我知道這種問題應該由 IT 團隊解決,但他們對此並不關心,而且我被困住了,因為我無法重現僅在 Internet Explorer 中發生的幾個錯誤(這個 JavaScript 阻塞的東西是甚至阻止我發現錯誤),並且我無法回復我們的用戶“對不起,但我們不會解決問題,因為 IT 不關心我們”。
是的,我可以將這個問題上報給我的經理,但你知道官僚作風有多嚴重,需要幾天甚至幾周的電子郵件才能解決這個問題。 所以我想如果我可以縮小問題的范圍,也許我可以為自己節省一些空洞的爭論。
一個例子:
我制作了一個簡單的 HTML 頁面來重現該問題:
<!DOCTYPE html>
<html>
<head>
<link href="jquery-ui.css" rel="stylesheet" />
<script src="jquery.min.js"></script>
<script src="jquery-ui.min.js"></script>
<script>
$(document).ready(function () {
$("#dynamicText").text("Some dynamic text."); // <-- Works.
$("#date").datepicker(); // <-- Does NOT work.
$("#button").button(); // <-- Works.
$("#button").click(function (event) {
event.preventDefault(); // <-- Works.
alert("You clicked the button."); // <-- Works.
});
});
</script>
<title>Test</title>
</head>
<body>
<h1>Test</h1>
<table>
<thead>
<tr>
<th>Function</th>
<th>Demo</th>
</tr>
</thead>
<tbody>
<tr>
<td>Dynamic text:</td>
<td id="dynamicText"></td>
</tr>
<tr>
<td>Date picker:</td>
<td><input id="date" type="text" /></td>
</tr>
<tr>
<td>Button:</td>
<td><a id="button" href="https://encrypted.google.com/">Click me</a></td>
</tr>
</tbody>
</table>
</body>
</html>
更新:
我忘了提到我在 TechNet 上找到了這個鏈接,但是它沒有提到什么類型的腳本會被阻止(因為不是所有的腳本都被阻止,我迷路了),互聯網上幾乎所有的結果都向你解釋了如何禁用增強的安全性,但不是它的作用。
任何提示表示贊賞...:\
如果禁用 IE 增強安全性,此問題就會消失。 我不確定這是否是一個有效的解決方法,但也許它可以提供一個線索。
要禁用,請打開服務器管理器。 單擊配置 IE ESC 並為管理員或用戶禁用增強安全性。
可能是在黑暗中刺傷,但我遇到了類似的問題,即站點在本地 Intranet 區域中呈現,因此在 IE7 兼容模式下自動呈現。 這似乎導致 jquery 的瀏覽器檢測出錯。 將以下元標記添加到 head 部分修復了它。
<meta http-equiv="X-UA-Compatible" content="IE=8" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.