我尝试在javascript函数中执行此操作:
document.getElementById('menuwrap').innerHTML = '<?php include("deffiles/menudefde.html")?>';
每当我插入php部分时,我的整个javascript都停止了工作。所以剩下的就不再是执行了。有人帮我吗?
编辑: 这样:
document.getElementById('menuwrap').innerHTML = '<?php include("deffiles/menudefde.html")?>';
在线成为:
document.getElementById('menuwrap').innerHTML = '<html>
<body>
<div id="menu">
<ul>
<li id="menutext1"><a href="home.html">Home </a></li>
<li id="menutext2"><a href="afbeeldingen.html">Bilder</a></li>
<li id="menutext3"><a href="links.html">Links</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div>';
编辑:
我想要的是我可以更改我的菜单按钮,这些按钮在html文件中说明。所以我使用javascript按钮,但文件是用PHP调用的。还有另一种方法吗?
答案 0 :(得分:0)
您的/menudefde.html
文件中可能有一些字符在Javascript字符串中是非法的。很可能是换行符,你也可以使用未转义的'
,这将终止字符串。
如果要将其包含在类似的字符串中,则需要转义每个此类字符。
但是,对您的整体问题可能有更好的解决方案。
答案 1 :(得分:0)
如果您的服务器正确解释了php代码,那么.html文件可能不是JS中的有效字符串。
请检查它是否没有未转义的新行,没有&#39;人物等或逃避它们。
如果发现此类错误,请检查您的控制台日志。
您可以使用json_encode函数来转义这些字符。
答案 2 :(得分:-2)
使用JS和PHP这是一种奇怪的方法。但是,如果你想这样做:
如果您不需要在include中执行PHP,可以这样做:
document.getElementById('menuwrap').innerHTML = '<?php print str_replace("'", "\\'", file_get_contents('deffiles/menudefde.html')); ?>';