我编写了phoneGap/Cordova代码,其中包含iframe中的一些soundcloud widget播放器.在Android和iOS下,代码在桌面浏览器中运行良好.
今天iOS版本停止播放音乐.我也尝试在移动safari中运行代码,并在不同的iPhone和模拟器上运行相同的否定结果.
所有其他平台仍然按预期工作.
Xcode控制台没有显示任何异常,但移动safari显示错误:
>Unsafe JavaScript attempt to access frame with URL http://domainname/ from frame with URL http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/12345. Domains, >protocolls and ports must match.
Run Code Online (Sandbox Code Playgroud)
我不确定它以前是否存在,但它是我能找到的最好的.
以下是代码的相应部分:
SC.get('/resolve', {
url : 'http://soundcloud.com/' + trackURL[c]
}, function(track) {
SC.get('/tracks/' + track.id + '/comments', function(comments) {
if (c == 0) {
$("#track1").append("<div style='height:110px; white-space:normal;overflow:visible;'> <img src='" + track.artwork_url + "' class='trackTitle' > <img src='img/play.png' id='play1' class='mainPlay'/> <h3 style='margin-top:75px;margin-left:120px; font-size:10px; position:absolute; line-height:10px;'> " + track.title + "</h3></div>");
$("#track1").css("background", "none");
$('#sc-widget1').attr("src", "http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/" + trackID[0]); …Run Code Online (Sandbox Code Playgroud)