我想在我的HTML / PHP模板中避免使用JavaScript。只要我在外部包含的JS文件中不需要基本/根URL,一切都运行正常。
问题: 有没有人知道将JS逻辑(下面的代码)放入外部JS文件的解决方案?主要问题:如何找出_BASE_URL_?不幸的是,它不是一个可以通过action-attribute获取URL的表单。我不想编译JS / PHP混合文件,它必须是纯JS。
想法(太脏):body标记顶部的隐藏输入,id =" root_url"或主JS文件中的变量:root_url =" http:// localhost / projects / project / version /"。这很容易失败,因为没有文件可以单独工作。
也许有一个很好的htaccess / mod_rewrite解决方案?
注意:我不想获取主机名或"真实" root目录,因为它也必须在子文件夹中工作!
代码:
<script type="text/javascript">
// document ready
$(function() {
// function: load items
function load_items() {
$("#items").load("<?php echo _BASE_URL_?>/items.php");
}
// load items!
load_items();
});
</script>
<!-- target div -->
<div id="items">loading</div>
提前致谢!
答案 0 :(得分:3)
我能看到你的html结构吗
function getBaseURL () {
return location.protocol + "//" + location.hostname + (location.port && ":" + location.port) + "/";
}
如果您需要路径,也可以使用此
path = window.location.pathname.split( '/' );
console.log(path);
答案 1 :(得分:0)
我们可以像这样使用
function getBaseURL () {
return location.protocol + "//" + location.hostname + location.pathname;
}