Side navigation
#13671 closed bug (duplicate)
Opened March 26, 2013 11:35PM UTC
Closed March 27, 2013 01:33AM UTC
Extending Object.prototype breaks jQuery 1.8.0+ in IE8 quirks mode
| Reported by: | anonymous | Owned by: | |
|---|---|---|---|
| Priority: | undecided | Milestone: | None |
| Component: | unfiled | Version: | 1.9.1 |
| Keywords: | Cc: | ||
| Blocked by: | Blocking: |
Description
Extending Object.prototype breaks at least getting elements by ID where the ID contains colons requiring escaping.
Affected browser: IE8 in quirks mode
Affected jQuery versions: 1.8.0+
<html>
<head><title>Title</title></head>
<body>
<div id="id:with:colons">This is some text.</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
Object.prototype.someFunctionName = function() { };
alert($('#id\\\\:with\\\\:colons').text());
</script>
</body>
</html>
Attachments (0)
Change History (4)
Changed March 26, 2013 11:43PM UTC by comment:1
| _comment0: | You are doing two '''very''' wrong and very unsupported things - primo: extending Object.prototype is a '''really''' bad idea, lots of things can break because of that; secundo: you shouldn't write anything in quirks mode (it's 2013, come on!) and jQuery doesn't support it (and never has). → 1364342115993165 |
|---|---|
| resolution: | → notabug |
| status: | new → closed |
Changed March 26, 2013 11:59PM UTC by comment:2
I don't own the code doing this but have to extend it but I was not aware that jQuery does not support quirks mode.
If somebody else runs into this problem - it works at least with jQuery 1.6 (didn't test below) and up to 1.7.2. I work around the problem by temporarily removing and later restoring the function added to Object.prototype.
Changed March 27, 2013 01:32AM UTC by comment:3
| resolution: | notabug |
|---|---|
| status: | closed → reopened |
There are two problems with your code - primo: extending Object.prototype is a really bad idea, lots of things can break because of that; secundo: you shouldn't write anything in quirks mode (it's 2013, come on!) and jQuery doesn't support it (and never has).