2017-01-11 3 views
0

Я хочу загрузить URL-адрес динамически внутри js-файла. Я использовал ниже код внутри файла head.js, но он не получает URL-адрес. если я использую статически, тогда он работает хорошо. Я не могу найти свою проблему.Как динамический url с codeigniter base_url() внутри js-файла

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 только в файле .php, а не в .js файле. Каков ваш базовый url и какой url вы получаете по '/' + 'assets /' – C2486

+0

, если имя файла 'head.js', это не сработает, вы должны называть свой файл' head.php' –

+0

, если я переименую голову .js как head.php, тогда он будет работать для js-кода ??? – user7149801

ответ

1

вы не можете использовать <?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 
    }); 
}); 

Надеется, что это помощь.

0

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

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

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

2.Then в вашем Pure JS-файла, такие как head.js .get 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().

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