我的想法是通过javascript文件而不是手动创建侧边栏菜单,我已经完成了。之前我从同一个目录加载了这个JS文件,所以很明显侧边栏菜单加载得很好但是现在,我想从不同的目录加载它,即使我有正确的源代码,它也不仅仅是加载。
这或多或少是目录的结构:
js - public_html - leftNav.js
Ofertas - public_html - 许多html文件(leftNav.js以前也在这里,但我移动了它)
teste - public_html - 许多html文件(leftNav.js以前也在这里,但我移动了它)
HTML文件 - > offers.html位于Ofertas文件夹
<ul class="sidebar-menu">
<li class="header">MAIN NAVIGATION</li>
<li class="treeview active">
<a href="#">
<i class="fa fa-edit"></i> <span>Projects</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu" id="leftNav" >
</ul>
</li>
</ul>
<script src="../../js/public_html/leftNav.js" type="text/javascript"></script>
这是leftNav.js文件:
window.addEventListener('load', leftNav, false);
var x = location.pathname;
alert(x);
function leftNav() {
appendUl('leftNav', 'outerUL');
appendLiA('outerUL', 'offers', '/Ofertas/offers.html', 'Offers');
appendLiA('outerUL', 'mobilecarriers', '/Ofertas/mobilecarriers.html', 'Mobile Carriers');
appendLiA('outerUL', 'affilpixeltracking', '/Ofertas/affiliatepixel.html', 'Affiliate Pixel Tracking');
appendLiA('outerUL', 'carrierip', '/Ofertas/carrierip.html', 'Carrier IP');
appendLiA('outerUL', 'updtconverstats', '/Ofertas/Pag1.html', 'Update Conversion Status');
appendLiA('outerUL', 'updtconverstats2', '/Ofertas/Pag4.html', 'Update Conversions Status - S2');
appendLiA('outerUL', 'getconvdata', '/Ofertas/Pag2.html', 'Get Conversions Data');
appendLiA('outerUL', 'getconvdata2', '/Ofertas/Pag6.html', 'Get Conversion Data - S2');
appendLiA('outerUL', 'updtconverspr', '/Ofertas/Pag3.html', 'Update Conversions P/R');
appendLiA('outerUL', 'updtconverpr2', '/Ofertas/Pag5.html', 'Update Conversions P/R - S2');
appendLiA('outerUL', 'test', '/teste/index.html', 'Test');
function appendUl(append_to_id, ul_id) {
var ul = document.createElement('ul');
ul.id = ul_id;
var appendTo = document.getElementById(append_to_id);
appendTo.appendChild(ul);
}
function appendLiA(append_to_id, li_id, a_href, a_text, i_class) {
var a = document.createElement('a');
a.href = a_href;
a.textContent = a_text;
var li = document.createElement('li');
li.id = li_id;
li.appendChild(a);
var appendTo = document.getElementById(append_to_id);
appendTo.appendChild(li);
}
}
答案 0 :(得分:1)
原来这个问题是一个轻微的来源疏通。在我的HTML文件中,我有:
<script src="../../js/public_html/leftNav.js" type="text/javascript"></script>
并且据说我不需要在源代码中调用public_html,即使程序自己给出了位置,所以修正是:
<script src="../../js/leftNav.js" type="text/javascript"></script>
答案 1 :(得分:0)
如果您使用NetBeans为HTML5项目提供的轻量级http服务器,则无法实现。服务器只能提供项目的Site Root中的文件(在您的情况下为public_html),但不能提供来自站点根目录之外的文件。您将需要使用自己的HTTP服务器并在NetBeans中配置项目以使用它(在项目属性中 - >运行 - &gt; Web服务器)