2012-05-28 1 views
1

Я построил this.Динамически добавление скриптов в IE с (?) Appendchild

Страница содержит таблицу, которая при нажатии на определенную строку загружает скрипт, который рисует определенный граф.

Это означает, что мне нужно добавить несколько номеров сценариев (а не в то же время - зависит от пользователя).

Я использовал JQuery appendchild, но заметил, что он не работает хорошо в IE (загружает первый, а затем застревает).

Я уже просмотрел посты здесь, сообщивших то же самое, и пытались их ..

Я попытался с помощью:

var body = document.getElementsByTagName('body')[0]; 
var script = document.createElement('script'); 
script1.text = myscript; 
body.appendChild(script); 

И

var head = document.getElementsByTagName('head')[0]; 
var script = document.createElement('script'); 
script.src = 'jQuery/head/dynamic_graph.js'; 
head.appendChild(script); 

и даже

$(script).appendTo($("#graphMain" + id)); 

все еще работает в каждом браузере, за исключением IE ...

любые предложения?

Edit:

также попытался

$.getScript("jQuery/head/dynamic_info.js", function(data, textStatus, jqxhr) { 
    }); 

и IE не удалось преформ ..

+0

Я бы переписать название, чтобы люди, просматривающие можно увидеть, что этот вопрос (в настоящее время он ДАЕТ НИКАКОЙ смысл) - вы, скорее всего, получите больше просмотров/ответов. Я отредактировал ваше сообщение, чтобы улучшить грамматику/орфографию, но я понятия не имею, что это за заголовок. – Nealbo

+0

tnks, отредактировал его. – devmonster

+2

ПОЧЕМУ вы пытаетесь добавить скрипт динамически, вместо того, чтобы просто связываться с ним напрямую? Что вы должны делать, это загружать готовые функции при загрузке страницы и динамически вызывать эти функции при добавлении новых строк. – Blazemonger

ответ

1

Если вы пытаетесь загрузить внешние сценарии, и вы используете JQuery, кажется, самым разумным решением было бы использовать $.getScript для загрузки файлов, вместо того чтобы пытаться свернуть свое собственное решение с помощью .appendChild или любого другого подобного метода.

+0

привет Джонататан, я использую $ .getScript для загрузки скриптов (это пример myScript в примере). Но после его загрузки я использую appendchild для включения скрипта в код. Есть ли у вас другие предложения, как это сделать? – devmonster

+0

@ user1392330 Вам не нужно ничего добавлять. '$ .getScript' выполняет код для вас, когда он загружает его. Ничего добавить. Можете ли вы поделиться примером кода, который вы пытаетесь ввести в документ? – Sampson

+0

Спасибо, попробовал, и он тоже застрял! что еще я могу попробовать? Я обновил qestion. – devmonster

2

спасибо, ребята, Но после 10 часов волосков plumings .. я понял это .. apperantly - IE предотвратить прилипание нескольких сценариев с тем же именем - поэтому я изменил название каждого сценария уникального имя.

Я использовал

$.getScript("jQuery/head/dynamic_info"+id+".js", function(data, textStatus, jqxhr) { 
}); 

где Q.Id представляет собой номер стоимости создания эксклюзивного (номер строки в Tthis случае)