I'm experiencing a weird problem trying to debug an ASP.NET + jQuery + jQueryUI web application developed by someone who left the company a couple of months ago.
The problem:
To develop we use a Windows Server 2008 R2 virtual machine or a Windows Server 2003 R2 virtual machine, both of them shared through Terminal Services by all the developers and controlled by our IT department.
Both of them comes with Internet Explorer 8 and have enhanced security on.
When I try to debug the application, or try to navigate it on the test site, certain JavaScripts function are not working.
One of them is jQueryUI's datepicker: the calendar opens, but when I click on a date nothing happens.
I already added both http://localhost
and the test site in Internet Explorer's trusted sites, but to no avail; if I remove them from the trusted sites list (so they are run in the internet zone) no JavaScript get executed.
The question:
Could this problems be caused by Windows' enhanced security?
If not, what can I try to narrow down the culprit?
I know this kind of problem should be addressed by the IT team, but they don't care much about it, and I'm stuck as I can't reproduce a couple of bugs happening only in Internet Explorer (this JavaScript blocking thing is preventing me from even reaching the bug), and I can't reply to our user "sorry but we won't fix the problem 'cause IT don't care about us".
Yes, I can escalate this issue with my manager, but you know how bureaucracy is, it would take days or even weeks of e-mails to get this sorted. So I thought if I can narrow down the issue maybe I can save myself some empty arguing.
An example:
I've made a simple HTML page to reproduce the problem:
<!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>
Update:
I forgot to mention I've found this link on TechNet, but It does not mention what type of scripts will be blocked (as not all of them are blocked, I'm lost), nearly every over result on the internet explains you how to disable enhanced security, but not what it does.
Any hint is appreciated... :\