Modify ↓
Ticket #858 (closed bug: duplicate)
evalScripts() execute javascript twice with inline script from ajax data in Firefox
| Reported by: | Lasiaf | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | 1.1.3 |
| Component: | ajax | Version: | 1.1 |
| Keywords: | evalscripts ajax script firefox execute | Cc: | |
| Blocking: | Blocked by: |
Description (last modified by joern) (diff)
Whe I try to load an external page with an inline script, firefox evaluates the script but IE dont. so my solution is put evalScripts() at the appended data, the it works in IE but it executes twice in firefox. Sample Code
$.post("getsomething.php",{test:1},
function(data){
$("#mainPane").append(data).evalScripts();
}
)
getsomething.php
IMPORTANT DATA TO BE APPENDED
<script>
alert("Hello World");
$("#txt1").val("NEW VAR DATA");
</script>
---
Whats happening is Firefox is evaluating the new appended data then evaluates it again using evalScripts()
is there a way to call evalScripts in $.html $.append when I use it in IE and if its firefox not to call evalScripts()
Change History
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.
Note: See
TracTickets for help on using
tickets.

A rather ugly workaround would be a manuel append using html. It's still unclear why append evaluate scripts at all, that behaviour was introduced in some of the later jQuery versions.