表达式似乎正在从iframe的源URL中剥离一些参数。这发生在浏览器中,而不是在服务器上发生。

当我查看有关页面的HTML源时,iFrame源是正确的。当我在控制台中查看它时,它与HTML源中的情况不同。

元素控制台显示:

<iframe frameborder="0" height="166" scrolling="no" src="http://w.soundcloud.com/player/?wmode=transparent" width="100%"></iframe>

HTML源显示:

<iframe frameborder="0" height="166" scrolling="no" src="http://w.soundcloud.com/player/?url=http%3A//api.soundcloud.com/tracks/112438993&amp;color=ff6600&amp;auto_play=false&amp;show_artwork=true" width="100%"></iframe></div>

如果我在浏览器的元素控制台中手动更改源,则iFrame加载没有问题。

我想象有一些JavaScript正在剥离SRC,但我找不到它。我已经使用Google搜索并搜索了遇到相同问题的人,但没有成功。

所讨论的URL是: http://rebelnoise.com/articles/album-debut-in-december-for-irish-garage-popsters-dott

所有SoundCloud和Spotify链接都会发生这种情况。

Spotifity示例: http://rebelnoise.com/articles/black-flags-what-the-the-the-bands-first-first-album-new-material-since-1985

谢谢!

编辑:

  1. 在直觉上,我尝试将源URL从https://更改为//----仍然没有运气。
  2. 我注意到WMODE =透明查询字符串存在于控制台中,而不是源...我想知道JavaScript函数是否在透明查询字符串中覆盖了一个,因此尝试将其添加到我的完整URL中:如下:

    <iframe frameborder="0" height="166" scrolling="no" src="//w.soundcloud.com/player/?wmode=transparent&url=//api.soundcloud.com/tracks/112438993&amp;color=ff6600&amp;auto_play=false&amp;show_artwork=true" width="100%"></iframe>
    
  3. 有趣的是:我尝试将整个页面和资源保存到桌面上,并以这种方式运行 - 一切似乎都起作用,所以我感到非常困惑。
  4. 我更接近发现这个问题 - 似乎WMode =透明的整个DOM中都添加到SRC中,因此我想知道一些假人过去是否添加了Bad JavaScript代码来打破此站点并引起所有问题。现在找到罪魁祸首!
有帮助吗?

解决方案

好的,我觉得自己应该早点找到该模式。

页脚中有一些代码添加了WMode =透明的SRC文件 - 它没有附加到存在的任何查询中,它只是用新的查询字符串代替了它们。

我删除了该代码,现在一切正常。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top