визуальная сила + jquery
-
13-11-2019 - |
Вопрос
Я пытаюсь реализовать плагин галереи jquery на сайте Force.com.Я загрузил zip-файл, содержащий все необходимые файлы, в качестве статического ресурса.
Я ссылаюсь на таблицы стилей и JavaScript, как показано ниже:
<apex:includeScript value="{!URLFOR($Resource.jqueryadgallery, 'jquerygallery/jquery.ad-gallery.js')}" />
<apex:stylesheet value="{!URLFOR($Resource.jqueryadgallery, 'jquerygallery/jquery.ad-gallery.css')}"/>
Это работает, и я получаю связанный CSS для плагина (проверьте это здесь – http://coffeescripter.com/code/ad-gallery/).Но единственная часть, которая работает, — это миниатюры изображений, которые отображаются с рамкой изображения, определенной в файле CSS.Вы можете увидеть, что я сделал здесь - http://fusedev-developer-edition.ap1.force.com/ImageDemo.Я следил за документацией, но мне кажется, что JavaScript не работает.
Любая помощь ценится, ура
Решение
Вот несколько вещей, которые стоит проверить:
Salesforce использует прототип.js, который, как и jQuery, использует глобальную переменную.
$
.Всегда лучше сделать что-то вроде$j = jQuery.noConflict();
в верхней части вашего скрипта, чтобы jQuery не засорял прототип.Вам также потребуется изменить весь свой JavaScript, чтобы использовать$j
вместо$
для jQuery.Похоже, ваш скрипт плагина jquery загружается раньше самого jQuery.Убедитесь, что ваш первый
apex:includeScript
загружает jQuery.Мой браузер сообщает о синтаксической ошибке на вашей странице VF:
Другие советы
<apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery/external/jquery/jquery.js')}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery, '/jquery/jquery-ui.min.js')}"/>
<script>
j$ = jQuery.noConflict();
if(j$){
alert('Success');
}else{
alert('Failure');
}
</script>
.