2016-05-05 2 views
2

Я даже не знаю, с чего начать эту попытку, то, что я пытаюсь сделать, это загрузить файл один раз, так как у меня есть несколько экземпляров его в настоящее время.Добавить таблицу стилей/скрипт, если не добавлен PHP & Javascript

Я загружаю файлы в php, условия if - это только тот вариант, который включен.

if ($vbulletin->options['drc_fa_adm'] & $vbulletin->options['drc_fa_prov'] != 0){ 
    if ($vbulletin->options['drc_fa_prov'] == 1) { 
    echo '<link rel="stylesheet" href="'.$vbulletin->options['bburl'].'/drc/dirty-core/libs/font-awesome/css/font-awesome.min.css">'; 
    } 
    if ($vbulletin->options['drc_fa_prov'] == 2) { 
    echo '<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css">'; 
    } 
} 

if ($vbulletin->options['drc_jq_prov'] == 1) { 
    echo '<script src="'.$vbulletin->options['bburl'].'/drc/dirty-core/libs/jquery/jquery.min.js"></script>'; 
} else { 
    echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>'; 
} 

echo '<script src="../drc/dirty-core/libs/jscolor/jscolor.min.js"></script><script src="../drc/dirty-core/js/twit_adm.js"></script>'; 

это все крючки в конкретный крючок, что некоторые страницы (не все) имеют несколько экземпляров, которые вызывают все из них, которые будут добавлены в 2,3 или более раз.

Как я могу проверить, если они уже находятся на странице, и если они не должны повторять их снова?

Я думаю, что что-то подобное может работать я просто не знаю, как я могу добавить его в мой PHP

<script type="text/javascript"> 
    if(typeof jQuery == 'undefined'){ 
    document.write('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></'+'script>'); 
    } 
</script> 
+1

Вы могли бы сделать некоторые переменные PHP равны '1 'или' true' или что-то, когда вы активируете скрипт в первый раз, а затем для каждого другого времени проверяете эту переменную, если это '0' или' false', тогда запустите скрипт – GrumpyCrouton

+0

. Думаете, это может сработать? '$ print = false; while ($ someVar) { если (! $ Печатный) { echo 'MY ECHO'; $ print = true; } } ' –

+0

Потенциально, да – GrumpyCrouton

ответ

0

Попробуйте это:

$alreadyLoaded = array('css' => false, 'jquery' => false); 
if ($vbulletin->options['drc_fa_adm'] & $vbulletin->options['drc_fa_prov'] != 0){ 
    if ($vbulletin->options['drc_fa_prov'] == 1 and !$alreadyLoaded['css']) { 
    echo '<link rel="stylesheet" href="'.$vbulletin->options['bburl'] . 
    '/drc/dirty-core/libs/font-awesome/css/font-awesome.min.css">'; 
    $alreadyLoaded['css'] = true; 
} 
if ($vbulletin->options['drc_fa_prov'] == 2 and !$alreadyLoaded['css']) { 
    echo '<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css">'; 
    $alreadyLoaded['css'] = true; 
    } 
} 

if ($vbulletin->options['drc_jq_prov'] == 1 and !$alreadyLoaded['jquery']) { 
    echo '<script src="'.$vbulletin->options['bburl'].'/drc/dirty-core/libs/jquery/jquery.min.js"></script>'; 
    $alreadyLoaded['jquery'] = true; 
} else if (!$alreadyLoaded['jquery']) { 
    echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>'; 
    $alreadyLoaded['jquery'] = true; 
} 
+0

попытался проверить' $ alreadyLoaded = array ('css' => false, 'jquery' => false); if (! $ AlreadyLoaded ['css']) { echo 'ECHO'; $ уже загружено ['css'] = true; } 'все еще echos дважды =/ –

+0

Повторялось ли редактирование в других блоках кода PHP? – Webomatik

+0

Хорошо, я только что отредактировал ответ с полным блоком кода. Попробуй это. – Webomatik

Смежные вопросы