Это в порядке для использования google.setOnLoadCallback многократно?

Решение OO для этого состоит в том, чтобы создать класс отношения. Это не взяло бы дополнительного кода (сохранит некоторых), было бы значительно более чистым/более ясным, и даст Вам некоторые дополнительные рефакторинги, позволяющие Вам очищать код вне этого класса также.

На самом деле я думаю, что кто-то рекомендовал возвратить структуру, которая достаточно близка, но скрывает намерение, что это должно быть полностью продуманным классом с конструктором и несколькими методами, на самом деле "метод", который Вы первоначально упомянули (как возврат пары) должен, скорее всего, быть членом этого класса, возвратив экземпляр себя.

я знаю, что Вашим примером был просто "Пример", но факт - то, что, если Ваша функция не делает путь, больше, чем какая-либо функция должны делать, если Вы хотите, чтобы он возвратил несколько значений, Вы почти наверняка пропускаете объект.

не боятся создать эти крошечные классы, чтобы сделать маленькие кусочки работы - это - волшебство OO - Вы заканчиваете тем, что ломали его, пока каждый метод не является очень маленьким и простым и каждый класс, маленький и понятный.

Другая вещь, которая должна была быть индикатором, что что-то было неправильно: в OO у Вас нет по существу данных - OO не о раздавании данных, класс должен управлять своими собственными данными внутренне, любая передача данных (включая средства доступа) является знаком, что Вы, возможно, должны заново продумать что-то..

10
задан bruntime 17 February 2017 в 20:50
поделиться

3 ответа

Я могу упустить суть здесь, но между вашими usercontrols $ (document) .ready и google.setOnLoadCallback нет противоречий, о которых я знаю.

Предполагая, что вы используете Google для загрузки jquery, ваш код в $ (document) .ready не будет работать, пока Google не загрузит jquery.

Пока jQuery загружается на вашу главную страницу, не уверен, в чем проблема.

0
ответ дан 3 December 2019 в 14:34
поделиться

Да, вы можете использовать setOnLoadCallback вместо $ (document) .ready . Существует недокументированный ВТОРОЙ ПАРАМЕТР (или, по крайней мере, я не могу его найти), который указывает, когда вызывать функцию обратного вызова; возможные значения: «false» (по умолчанию) - при загрузке окна, или «true» - при загрузке DOM (DOMContentLoaded). Событие DOM запускается после загрузки всей разметки (намного раньше, чем window.load). Событие загрузки окна срабатывает после того, как все изображения и сценарии, включая их, завершили загрузку.

// Very similar to $(document).ready()
google.setOnLoadCallback( OnLoad, true );

// Very similar to $(window).load()
// Same as google.setOnLoadCallback( OnLoad, false );
google.setOnLoadCallback( OnLoad );

Да, вы можете использовать setOnLoadCallback несколько раз на одной странице. Это очень важная недокументированная функция AJAX API (недокументированная на момент публикации). Каждый раз, когда вы вызываете setOnLoadCallback, он складывает все функции, которые будут вызываться после загрузки DOM или окна.

Это очень важная недокументированная функция AJAX API (недокументированная на момент публикации). Каждый раз, когда вы вызываете setOnLoadCallback, он складывает все функции, которые будут вызываться после загрузки DOM или окна.

Это очень важная недокументированная функция AJAX API (недокументированная на момент публикации). Каждый раз, когда вы вызываете setOnLoadCallback, он складывает все функции, которые будут вызываться после загрузки DOM или окна.

32
ответ дан 3 December 2019 в 14:34
поделиться

Я столкнулся с той же проблемой. Я погуглил, что на одной странице запущено 2 поиска в Google и т. Д.

В конце концов я нашел это, потому что я хотел иметь 2 панели, по сути, показывающие результаты поиска Google на одной странице.

google.setOnLoadCallback(LoadGoogleNewsResults);
google.setOnLoadCallback(LoadGoogleNewsResultsForum);

У меня это сработало :)

Код находится на http://login.debt-line.org.uk , просто нажмите «Просмотреть исходный код».

1
ответ дан 3 December 2019 в 14:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: