Javascript 为什么在使用facebook web主机作为画布页面时没有加载我的资产?
我正在使用facebook网站托管我的canvas游戏资产,当他们试图加载时,我不断收到404个错误 我的index.html文件加载正确。我的所有资产都是相对于位于根目录中的index.html文件加载的 我上传的zip文件的结构如下: 以下是当我尝试在facebook中加载画布页面时在控制台中收到的错误;所有404: 这是index.html文件Javascript 为什么在使用facebook web主机作为画布页面时没有加载我的资产?,javascript,html,facebook,canvas,Javascript,Html,Facebook,Canvas,我正在使用facebook网站托管我的canvas游戏资产,当他们试图加载时,我不断收到404个错误 我的index.html文件加载正确。我的所有资产都是相对于位于根目录中的index.html文件加载的 我上传的zip文件的结构如下: 以下是当我尝试在facebook中加载画布页面时在控制台中收到的错误;所有404: 这是index.html文件 <!DOCTYPE html> <html> <head> <base href="/" /
<!DOCTYPE html>
<html>
<head>
<base href="/" />
<meta charset="utf-8" />
<title>Title Here</title>
<link rel="stylesheet" type="text/css" href="/styles/main.css">
<link rel="stylesheet" href="lib/flexboxgrid.min.css">
</head>
<body>
<div id="canvasContainer"></div>
<script type="text/javascript" src="https://connect.facebook.net/en_US/sdk.js"></script>
<script src="lib/pixi.min.js"></script>
<script src="lib/jquery.min.js"></script>
<script src="bundle.js"></script>
</body>
</html>
标题在这里
看起来这些资源根本没有被上传
在查看dev tools networking选项卡后,我还注意到我的index.html正在从https://apps-.apps.fbsbx.com/bundle///index.html?signed_request=.....
位置
但是,我的其他资源除了地址位置之外没有
'bundle//'
。我试图直接在浏览器中加载资源,但收到403拒绝错误。我甚至试图附加签名的请求令牌,但也没有运气;相同的403错误。大多数问题来自
网络托管
生成的index.html文件位于
zip文件的根,因为这是我们可以启动
内容所有其他URL都需要是相对路径。
更正相对URL
<link href="styles.css" rel="stylesheet"/>
or
<link href="./styles.css" rel="stylesheet"/>
或
结果url将采用以下格式:
https://apps-<app id>.apps.fbsbx.com/bundle/<another id>/<another id>/styles.css
https://apps-.apps.fbsbx.com/bundle///styles.css
不正确绝对URL
<link href="/styles.css" rel="stylesheet"/>
https://apps-<app id>.apps.fbsbx.com/styles.css
https://apps-.apps.fbsbx.com/styles.css
当您使用
时,HTML元素指定用于文档中包含的所有相对URL的基本URL。所以基本上你使用绝对路径,当你应该依靠facebook的网络托管来解析路径时
因此,请将
/styles/main.css
更改为styles/main.css
,并删除
共享您的index.html代码,以便我们可以检查,以及您从404错误控制台直接将URL放入浏览器地址栏时得到的结果?@syedeKramudinemon感谢您的回复。我添加了一些细节,你搞定了!万分感谢!我甚至不记得把那个标签放在那里了!