document.createElement('script');
object[n[i]] = function ed() { alert() } var sc = document.createElement('script'); sc.innerHTML = object[n[i]]; document.head.appendChild(sc); sc.onload = ed(); // если string то не работает sc.onload = 'как здесь указать марк функции в строковом представлении, чтобы срабатывало ' |
ed() = object.slice(7, 11)
script.onload = object.slice(7, 11) дело в том что так не срабатывает фунция а если в коде прописан марк функции script.onload = ed() то срабатывает допустим var functio = 'ed()'; script.onload = functio и не работает |
Цитата:
Conus, правильно будет так: sc.onload = ed; //ссылка на функцию, но никак не её вызов |
а как сделать вызов из строки
|
Цитата:
|
var n = Object.keys(object).sort(function (key) { return object[key] }) for(i in n) { if(typeof(object[n[i]]) == 'function') { if(n[i] != 'one') { e.setAttribute(n[i], 'new Function'); e.Function = object[n[i]]; } else { var v = '', x = '' + object[n[i]]; for (c in x) { v = x.slice(c, (x.length- 1)); if(x[c] == ' ') { for(var q in v) { if(v[q] == ')') { q++; v = v.slice(0, q); break; } } break; } } var sc = document.createElement('script'); sc.innerHTML = object[n[i]]; document.head.appendChild(sc); sc.onload = ed; sc.onload = v // this = я себе не представляю! } } |
Напиши ВСЕГО 1 СТРОЧКУ:
1. Строка с функцией. |
какую строчку
мне из объекта вытянуть нужно функцию и вызвать её же после добавления в head как сделать вызов? |
Цитата:
Цитата:
Сначала ты пишешь про строку, потом уже отрицаешь это. Думаю, что я после долгих раздумий понял, что ты имеешь ввиду: object[n[i]] = "function ed(){alert('test')}" //строка var sc = document.createElement('script'); sc.text = object[n[i]]; document.head.appendChild(sc); sc.onload = ed; |
Часовой пояс GMT +3, время: 08:40. |