Правильно, но я спрашиваю: а что, если у меня есть контроль над first.js, а не second.js?

емного странный случай, но у меня есть свои причины:

Я хотел бы иметь возможность написать

<script type="text/javascript" src="first.js"></script>
<script type="text/javascript" src="second.js"></script>

в моей разметке и, используя код вfirst.jsпредотвратить или задержать исполнениеsecond.js, Это возможно в любом браузере? Что делать, если содержимоеfirst.js встроены? (Если это поможет, предположим, что второй тег сценария имеетid атрибутов.)

Поскольку я получил пару ответов, в которых не было того, к чему я клоню, я должен уточнить:

Решение должно быть полностью внутриfirst.js, Все, что требует изменения исходного HTML-кода страницы илиsecond.jsне допускается.Этоявляется приемлемо для загрузкиsecond.js через Ajax и выполнить его с помощьюeval, Это легкая часть. Трудной частью является предотвращение немедленного исполненияsecond.js.Предположим, что выне знаю Что вsecond.js, Таким образом, вы не можете просто заменить каждую глобальную функцию, вызываемуюsecond.js с неоперативной функцией. (Кроме того, это почти наверняка приведет к ошибкам.)

Если вы знаете решение, которое работает в некоторых браузерах, но не в других, я бы хотел услышать его.

пример: Чтобы сделать это немного более конкретным, скажем, что код

<script type="text/javascript">
  function func() {
    window.meaningOfLife = 42;
    window.loadSecond();
  };
  setTimeout(func, 10);
</script>

предшествует двумscript включает в себя, и чтоsecond.js содержит строку

if (window.meaningOfLife !== 42) {throw new Error();}

first.js должен быть в состоянии предотвратить эту ошибку, задерживаяsecond.js от выполнения доwindow.loadSecond это запустить. (Предположим, что реализацияwindow.loadSecond также вfirst.js.) Этоне разрешено трогатьwindow.meaningOfLife.

Обновить: Ответ Алохчи отвечает этим требованиям, но только при условии, что появится второй тег сценариянемедленно после первого, с пустым пространством между ними. Если бы кто-то мог продлить свой взлом, чтобы избежать этого требования, не представляя других нежелательных последствий, это было бы удивительно ...

Ответы на вопрос(7)

Ваш ответ на вопрос