繁体   English   中英

Javascript:如何使用服务器上的html文件而不是URL进行window.open?

[英]Javascript: How to window.open with a html file on the server, but not a URL?

是否可以使用服务器上的html文件打开新窗口? 但是无法在浏览器URL上访问“ myfile.html”吗?

<FORM>
<INPUT type="button" value="New Window!" 
onClick="window.open('./publico/myfile.html','mywindow')">
</FORM>

我在ff工作区中使用PHP:C:\\ workspace \\ myproject \\ publico \\ index.html

或者您有什么建议吗?

非常感谢你!

不,与您的示例不同。 window.open是JavaScript代码,告诉用户的Web浏览器打开一个窗口。 用户的Web浏览器无法访问服务器上的文件,除非这些文件可通过Web(即URL)获得。

您可能可以使用PHP在JavaScript字符串中写出文档的内容,然后使用JavaScript将内容添加到新打开的窗口中。

这是一个非常笨拙的JavaScript示例,似乎可以在Chrome中运行,但是我敢肯定代码可以得到改进,它可能不是可靠的跨浏览器,而且我不知道足够的PHP来编写该代码:

<script>
var newWindowContent = '<?php echo WHATEVER_PHP_CODE_WILL_WRITE_OUT_THE_HTML_PROPERLY_ESCAPED ?>';
</script>
<FORM>
<INPUT type="button" value="New Window!" 
onClick="var mywindow = window.open(); mywindow.document.getElementsByTagName('html')[0].innerHTML = newWindowContent;">
</FORM>

没有。

网络服务器不知道浏览器是否要在特定窗口中显示文件。 这意味着它不能根据此权限处理权限。

如果希望除非满足特定条件,否则用户无法访问特定文件,则可以将该文件设置为php文件,在请求前设置一个cookie,并在该cookie时使php文件返回403禁止的错误代码。未设置,内容未设置(请记住,用户可以伪造Cookie)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM