非程序员在这里试图解决问题。
我的文档标题中有一个javascript函数,在页面加载时它会在iframe中打开另一个页面,并在我的服务器上显示一个svg文件,用于进行次要的在线编辑。我想将我的javascript函数放在一个php文件中,这样就无法确定svg文件的这些文件夹位置,任何人都可以自由下载这些svg文件。
目前我的html标题上有这个:
<script type="text/javascript">
function loaded()
{
document.getElementById("myiframe").src="http://www.mydomain.com/myfolder/mypage.html?url=myotherfolder/"+window.location.search.substr(1);
}
onload=loaded;
</script>
由于我听说php是服务器端脚本而且无法查看,我认为这会掩盖我服务器上这些文件的位置。
我想从我的标题中删除此javascript代码并将其放在php文件中,并将标题代码替换为以下任一项:
<script src="phpjavafile.php"></script>
或
<?php include ('phpjavafile.php'; ?>
最后把javascript放到这样的php文件中:
<?php
<script type="text/javascript">
function loaded()
{
document.getElementById("myiframe").src="http://www.mydomain.com/myfolder/mypage.html?url=myotherfolder/"+window.location.search.substr(1);
}
onload=loaded;
</script>
?>
我已尝试过这两种方法,但都没有正确加载。
我一定是做错了。我是在正确的轨道上,还是有更好的方法让它发挥作用。
提前谢谢你。
答案 0 :(得分:1)
使用echo()函数
<强> PHP 强>
<?php
echo '<script>
some javascript
</script';
?>
但是,如果你只是在没有任何php args的情况下尝试在页面加载时加载php,那么只需将其写出标签即可。
如果你有JavaScript是另一个文件,那么使用
<强> PHP 强>
<?php
include 'path/to/javascript/file.php';
?>
应该工作。
你无法隐藏javascript,因为它被解释为浏览器端而不是服务器端,因此用户浏览器必须访问代码。
以下是我认为您要求的代码:
PHP HTML
<?php
$html = file_get_contents("path/to/data.html");
?>
<div>
<?php echo $html; ?>
</div>
不使用iframe,但仍然可以使用。但是,除非两个文件都在同一个目录中,否则任何相对链接都不会起作用,并且没有额外的css就没有iframe功能
答案 1 :(得分:0)
您可以在PHP文件中将其作为文本输出。
<?php
// Some PHP stuff here
?>
<script type="text/javascript">
function loaded(){
....
}
onload=loaded;
</script>
<?php
// Some more PHP stuff here
?>
或者,你可以在同一个文件中以通常的方式链接到它:
<script src="path/to/your/file.js"></script>