如何在 js 文件中使用 codeigniter base_url() 动态化 url

How to dynamic a url with codeigniter base_url() inside js file

我想在 js 文件中动态加载 url。我在 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
    });
});

如果你想在纯 JS 中获得 base_url() file.Following 可能是正确的方法...

1.In html (PHP) 创建一个隐藏类型的输入字段,值为 base_url.As

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

2.Then 在您的纯 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().

您不能在 JavaScript 文件上使用 <?php echo base_url(); ?>

如果想动态获取url,可以使用window.location.origin

var url = window.location.origin;

Variable url will print like base_url : https://whosebug.com

Subdomain will print like : https://subdomain.whosebug.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
    });
});

希望对您有所帮助。