gpt4 book ai didi

ruby-on-rails - 将嵌入代码保存到 Rails 模型后,嵌入视频在首次加载时无法在 Chrome 中呈现

转载 作者:行者123 更新时间:2023-11-28 21:40:44 27 4
gpt4 key购买 nike

我们有一个 Ruby on Rail 应用程序,允许用户将一些视频嵌入代码保存到我们的数据模型中。该表单允许用户输入任意数量的嵌入代码,然后按提交并将所有内容保存到数据库中。然后,该应用程序会将用户重定向到一个包含所有嵌入代码列表的页面。

此工作流适用于 IE、Safari 和 Firefox。

但是,在 Chrome 上,第一次加载页面时,页面上不会显示任何视频。我在控制台中看到以下错误,每个视频出现一次:

Refused to execute a JavaScript script. Source code of script found within request.

在随后的页面加载中,视频加载正常并且没有显示该错误。

当我查看源代码时,页面会为查看源代码操作重新加载,所以我无法判断源代码是否按预期通过。

当我检查视频所在 block 上的元素时,我看到以下内容:

<iframe src="" width="400" height="225" frameborder="0">
<html>
<head></head>
<body></body>
</html>
</iframe>

对于 iframe 样式的嵌入代码以及 YoutTube 和 Vimeo 视频的“旧式”标签代码,都会出现这种情况。

相关:

最佳答案

这就是 Chrome 阻止 XSS (cross-site scripting) 的方式,作为您上面的引用。

当您提交嵌入代码并重定向到另一个页面以显示它们时,Chrome 会发现提交的嵌入代码(通过 HTTP POST)和响应的嵌入代码相同,因此它会阻止加载它们并显示错误在控制台中。

当你刷新页面时,不再有 HTTP POST 提交(因为你之前重定向了它),所以它应该正确显示。

我有同样的问题,我通过在重定向后自动重新加载页面解决了这个问题。

关于ruby-on-rails - 将嵌入代码保存到 Rails 模型后,嵌入视频在首次加载时无法在 Chrome 中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6838172/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com