Это не мой код, я просто устраняю его.Некоторый код, который работал более года, теперь перестал работать в Chrome (12.0.742.122), но работает в других «больших» браузерах (включая поддерживающего WebKit стабильного Safari (5.0.5)).Под «больше не работает» я подразумеваю, что, хотя файл сценария загружается, он не выполняется.Такое поведение вы ожидаете, загружая скрипт во innerHTML или записывая его в div, но ни одна из них не выполняется.Все закомментированные строки, приведенные ниже, были неудачными попытками заставить его работать, первой из которых был оригинальный код, который работал до недавнего времени.
<div id="abc"></div>
<script type="text/javascript">
var d=document.getElementById("abc");
var s=document.createElement('SCRIPT');
if(s){s.src=script_path;}
//if(d)d.appendChild(s); //original line that still works in all other browsers
//if(d)d.parentNode.appendChild(s);
//if(d)d.parentNode.insertBefore(s,d);
//if(d)d.parentNode.insertBefore(s,d.nextSibling);
document.body.appendChild(s); //this works, script executes
</script>
Что требуется от этого кода выше, так это то, чтоскрипт является дочерним элементом div.Предположительно они хотят иметь возможность удалить этого ребенка и одновременно удалить все сценарии (я не уверен в их мотивации).