你如何在JavaScript中打开HTML文件?

时间:2016-07-09 15:31:18

标签: javascript html window.open

所以,首先我要具体说明我知道以下代码

window.open(url);

过去对我来说非常好。

这次问题是我正在尝试打开一个不在线的html文件。文件本身在这里“http://coynesresources.weebly.com/uploads/7/6/5/3/76537449/small.html”,当我尝试使用以下

window.open("http://coynesresources.weebly.com/uploads/7/6/5/3/76537449/small.html");

只允许我下载HTML文件,而不是在我的浏览器中打开它。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

您无法对此网址(跨网域政策)使用直接ajax查询。因此,您必须使用jsonp代理。 请参阅:Loading cross domain endpoint with jQuery AJAX

为您效忠榜样: http://jsbin.com/bahigodiru/1/edit?html,js,output

但这不是好的解决方案。你可以使用很多免费托管。或者使用jsfiddle / jsbin(对于jsbin,您可以获得没有在线编辑器的页面链接:http://jsbin.com/bahigodiru/1/

weebly.com是一个创建网站的平台。您不应该将html作为文件上传。您应该将其内容添加为custom htmlhttps://www.weebly.com/blog/file-upload-new-linker-custom-html-and-a-new-upgrade-process

答案 1 :(得分:0)

试试这个

window.open("http://coynesresources.weebly.com/uploads/7/6/5/3/76537449/small.html", "windowName", "width=200,height=100",false);

更多信息请参见此处

http://www.w3schools.com/jsref/met_win_open.asp

https://developer.mozilla.org/en-US/docs/Web/API/Window/open

答案 2 :(得分:0)

我猜你不能。

问题是服务器返回一个标题,告诉浏览器下载它而不是显示它

curl -v "http://coynesresources.weebly.com/uploads/7/6/5/3/76537449/small.html"
*   Trying 199.34.228.54...
* Connected to coynesresources.weebly.com (199.34.228.54) port 80 (#0)
> GET /uploads/7/6/5/3/76537449/small.html HTTP/1.1
> Host: coynesresources.weebly.com
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: nginx
< Date: Sat, 09 Jul 2016 19:17:29 GMT
< Content-Type: text/html
< Content-Length: 904
< Last-Modified: Sat, 09 Jul 2016 15:10:54 GMT
< Connection: keep-alive
< ETag: "578113fe-388"
< Expires: Sat, 16 Jul 2016 19:17:29 GMT
< Cache-Control: max-age=604800
< Content-Disposition: attachment
< Accept-Ranges: bytes
< X-W-DC: SFO
< 

Content-Disposition: attachment部分告诉浏览器下载而不是显示

See RFC 6266

  

4.2。处置类型

     

如果处置类型与“附件”匹配(不区分大小写),      这表明收件人应该提示用户保存      本地响应,而不是正常处理(根据其媒体      类型)。