Как я выполняю различные версии jQuery на той же странице?

Ниже код должен делать то, что вам нужно:

class Program
{
    static void Main(string[] args)
    {
        var handle = Process.GetCurrentProcess().MainWindowHandle;
        Process.Start("Chrome.exe").WaitForInputIdle();
        SetForegroundWindow(handle.ToInt32());
        Console.ReadLine();
    }

    [DllImport("User32.dll")]
    public static extern Int32 SetForegroundWindow(int hWnd); 
}
68
задан Alex Angas 9 February 2009 в 14:04
поделиться

3 ответа

Можно достигнуть этого путем выполнения версии jQuery в [1 110] режим без конфликтов . Режим "No conflict" является стандартным решением для получения jQuery, работающего на странице с другими платформами как [1 111] прототип , и может быть также использоваться здесь в качестве него по существу пространства имен каждая версия jQuery, который Вы загружаете.

<script src="jQuery1.3.js"></script>
<script>
    jq13 = jQuery.noConflict(true);
</script>

<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>

Это изменение будет означать, что любой материал jQuery, который Вы хотите использовать, должны будут назвать с помощью jq13, а не $, например,

jq13("#id").hide();

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

Также из любопытства, что, если мы должны были использовать дополнительное управление, которое должно было сослаться на еще одну версию jQuery?

, Если необходимо было добавить другую версию jQuery, Вы могли бы подробно остановиться на вышеупомянутом:

<script src="jQuery1.3.js"></script>
<script>
    jq13 = jQuery.noConflict(true);
</script>
<script src="jQuery1.3.1.js"></script>
<script>
    jq131 = jQuery.noConflict(true);
</script>

<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>

переменные jq13 и jq131 каждый использовались бы для определенных для версии функций, которых Вы требуете.

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

100
ответ дан ConroyP 7 November 2019 в 10:17
поделиться

Похоже, порядок не имеет значения ... например: http://gist.github.com/136686 . Вывод консоли находится вверху, и все версии кажутся нужными.

2
ответ дан 24 November 2019 в 14:15
поделиться

Как сказал ConroyP, вы можете сделать это с помощью jQuery.noConflict , но не забудьте var при объявлении переменной. Вот так.

<script src="jQuery1.3.js"></script>
<script>
    var jq13 = jQuery.noConflict(true);
</script>

<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>

Вы можете подключить все $ к jq13, добавив (jq13) после функции }) . вроде этого

(function($) {
 ... 
})(jq13); 
24
ответ дан 24 November 2019 в 14:15
поделиться
Другие вопросы по тегам:

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