我为我们的培训公司管理一个网站。该站点想要嵌入来自 Indeed.com 的 API,以显示来自 Indeed 的一组工作机会。从 Indeed 网站上,我获得了 JavaScript 代码(jobroll - 请参阅 link)并在测试页上实现了它。
可以找到这个测试页here .因为可以使用不同的关键字,所以我希望将四个关键字的结果显示在四列中,每行两列。 JavaScript 代码适用于 Firefox 和 Safari,但不适用于 Internet Explorer 或 Chrome。我不是编码员,因此需要您的帮助。我做错了什么或遗漏了什么?
这里的问题是 mime 类型不匹配,如 Internet Explorer 和 Google Chrome 的控制台输出所示 - firefox 似乎只是让这个滑动。它可能不应该。
考虑以下代码:
<script type="text/javascript" src="...indeed.nl/jobroll?q=tmap&l=&limit=10"></script>
这期望 jobroll 资源是 JavaScript 资源(如果您检查响应主体,它就是它)。但问题在于 indeed.nl 发送 JavaScript,同时声称它是 HTML。快速检查响应 header 会发现:
请注意资源的响应类型不是text/javascript
,而是text/html
。这是 Internet Explorer 和 Chrome 不容忽视的安全问题。
为了使用此资源,您需要让此数据的提供者调整他们的响应 header 以将其标识为脚本而不是标记。或者,您可以使用本地资源来加载此内容并将其与正确的响应 header 一起返回给您的前端代码。