#4651 closed bug (fixed)
jquery support object needs name attribute for param tag
Reported by: | mhildreth | Owned by: | |
---|---|---|---|
Priority: | undecided | Milestone: | 1.4 |
Component: | support | Version: | 1.3.2 |
Keywords: | support initialization param name | Cc: | |
Blocked by: | Blocking: |
Description
When the jquery support object is initialized, a tester HTML string is injected into a div with display:none. The string that is injected contains an object tag and a param tag. The param tag does not have a name attribute speicified, but this is required by the xhtml spec.
This may not be a huge deal, but some third party scripts (in our case the Cisco Web VPN scripts) assume that every param tag will have a name attribute. This causes an error on the script initialization.
The solution was simply to add the name attribute with a value of "". We did this on the jquery 1.3.2 debug file at line 3122.
Attachments (1)
Change History (9)
Changed 14 years ago by
Attachment: | jquery.debug.js added |
---|
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
I was not seeing any ActiveX warning. The Cisco VPN client is likely to blame for a couple of reasons. First, it basically reads all javascript served through the VPN and replaces (very cleverly I might add) all calls to functions involved in DOM manipulations to run though it's own proxy functions. The issue was that as it basically funnels DOM manipulations through its own functions so that it can revamp any href or src attributes with the re-adjusted VPN url's. To do this, it parses any html strings injected into the DOM. As the jquery support object injects that dummy html string into the DOM to detect browser behaviors, the Cisco parser assumes that any param tags will have a name attribute. They should probably detect the presence of such attributes, but their scripts that are injected are hard coded in their firmware. The scripts (unfortunately) assume that any param tag will have a name attribute and subsequently cause a runtime error during the jquery loading process, thus rendering the site jquery-less. Simply adding the empty name attribute rectifies this problem. I know it is debatable as to whether this is a cisco issue or a jquery issue, but I think that the simple answer is that it may be both. The param tag *requires* the name attribute. In the interim, we have modified the jquery source files by simply adding an empty param attribute with a value of empty string to alleviate the loading problem. Any help is appreciated on this issue. Thanks in advance,
-Mark
comment:3 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
I think this will be fixed in 1.3.2 by virtue of the patch mentioned above, so your local patch should hold you until then. I've noted this ticket in #4017 in case the code makes a reappearance in the future.
comment:5 Changed 14 years ago by
Hi, I always have the same problem even after i had made the change!! any idea?
comment:6 Changed 14 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:8 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Fixed by removing the code.
comment:9 Changed 13 years ago by
Milestone: | 1.3.2 → 1.4 |
---|
This file contains the fix we added on line 3122