Как динамический URL-адрес с codeigniter base_url () внутри файла JS

Я хочу загрузить URL-адрес с динамически внутри файла JS. Я использовал приведенный ниже код внутри файла head.js, но он не получает URL. если я использую статически, то это работает хорошо. Я не могу найти свою проблему.

head.js(<?php echo base_url(); ?>"assets/js/newsticker/jquery.newsTicker.js", function() {
var nt_title = $('#nt-title').newsTicker({
row_height: 18,
max_rows: 1,
duration: 5000,
pauseOnHover: 0
});
});

0

Решение

ты не можешь использовать <?php echo base_url(); ?> в файле JavaScript.

Если вы хотите получить URL-адрес динамически, вы можете использовать window.location.origin

var url = window.location.origin;

переменная url будет печатать как base_url : https://stackoverflow.com

Субдомен будет печататься как: https://subdomain.stackoverflow.com

Так что, просто меняет свой <?php echo base_url(); ?> в url+ и добавить / до активов, как:

head.js(url+"/assets/js/newsticker/jquery.newsTicker.js", function() {
var nt_title = $('#nt-title').newsTicker({
row_height: 18,
max_rows: 1,
duration: 5000,
pauseOnHover: 0
});
});

Надеюсь, это поможет.

1

Другие решения

Если вы хотите получить base_url() в чистом файле JS. Следование может быть правильным способом …

1. В html (PHP) создайте поле ввода скрытого типа со значением base_url.As

<input type="hidden" id="url" value="<?php echo base_url();?>">

2. Затем в вашем файле Pure JS, таких как head.jsПолучите base_url, как показано ниже.

<script>
var base_url = $("#url").val();//it gives base_url
head.js(base_url+"assets/js/newsticker/jquery.newsTicker.js", function() {
var nt_title = $('#nt-title').newsTicker({
row_height: 18,
max_rows: 1,
duration: 5000,
pauseOnHover: 0
});
});
</script>

НОТА: В codeigniter не забудьте загрузить url помощник для использования base_url(),

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector