加载 Soundcloud 嵌入式播放器 OnClick 在 FireFox 中不工作
Load Soundcloud embedded player OnClick not working in FireFox
网站:https://www.buybeatsfast.com/beats/
点击 "Play Beat" 图像应该加载该曲目的 Soundcloud 播放器并自动播放。这在 Chrome 中有效,但在 Firefox 中它只会将您带到 Soundcloud 轨道的页面。我在 Windows XP 和 Windows 8 上测试了这个,它在 Firefox 中根本不起作用,控制台上也没有错误所以我不知道问题是什么,我不是作者这段代码,我实际上是在这里找到的。
这是html:
<div class="tempsc"><a href="https://soundcloud.com/rockitpro/imstillherehook" class="scload"><span class="playbeat"><span class="icon-play-sign playbeaticon"></span> Play Beat</span></a></div>
这是js:
/*SOUNDCLOUD CLICK TO PLAY*/
var formatPlayer = '&iframe=true';
formatPlayer += '&color=3498DB';
formatPlayer += '&buying=false';
formatPlayer += '&download=false';
formatPlayer += '&show_playcount=false';
formatPlayer += '&show_reposts=false';
formatPlayer += '&show_user=false';
formatPlayer += '&show_comments=false';
formatPlayer += '&liking=false';
formatPlayer += '&hide_related=true';
formatPlayer += '&sharing=false';
formatPlayer += '&maxheight=125';
formatPlayer += '&auto_play=true'; // Play once user clicks link!
formatPlayer += '&show_artwork=true';
//LOAD IFRAME ON CLICK
$('.scload').click(function(){
event.preventDefault();
var $link = $(this);
var getJSONstring = 'https://soundcloud.com/oembed?format=js&url=' + $link.attr('href') + formatPlayer;
//Replace contents
$.getJSON(getJSONstring + '&callback=?', function(response) {
var widget = response.html;
var src = $(widget).attr('src');
widget = $(widget).attr('src', src.replace('?visual=true', '?visual=false')); // Update iFrame src
$link.replaceWith(widget); }); });
已修复。忘记将 event
传入 click
函数。这现在适用于 Firefox。
/*SOUNDCLOUD CLICK TO PLAY*/
var formatPlayer = '&iframe=true';
formatPlayer += '&color=3498DB';
formatPlayer += '&buying=false';
formatPlayer += '&download=false';
formatPlayer += '&show_playcount=false';
formatPlayer += '&show_reposts=false';
formatPlayer += '&show_user=false';
formatPlayer += '&show_comments=false';
formatPlayer += '&liking=false';
formatPlayer += '&hide_related=true';
formatPlayer += '&sharing=false';
formatPlayer += '&maxheight=125';
formatPlayer += '&auto_play=true'; // Play once user clicks link!
formatPlayer += '&show_artwork=true';
//LOAD IFRAME ON CLICK
$('.scload').click(function (e) {
e.preventDefault();
var $link = $(this);
var getJSONstring = 'https://soundcloud.com/oembed?format=js&url=' + $link.attr('href') + formatPlayer;
//Replace contents
$.getJSON(getJSONstring + '&callback=?', function(response) {
var widget = response.html;
var src = $(widget).attr('src');
widget = $(widget).attr('src', src.replace('?visual=true', '?visual=false')); // Update iFrame src
$link.replaceWith(widget); }); });
网站:https://www.buybeatsfast.com/beats/
点击 "Play Beat" 图像应该加载该曲目的 Soundcloud 播放器并自动播放。这在 Chrome 中有效,但在 Firefox 中它只会将您带到 Soundcloud 轨道的页面。我在 Windows XP 和 Windows 8 上测试了这个,它在 Firefox 中根本不起作用,控制台上也没有错误所以我不知道问题是什么,我不是作者这段代码,我实际上是在这里找到的。
这是html:
<div class="tempsc"><a href="https://soundcloud.com/rockitpro/imstillherehook" class="scload"><span class="playbeat"><span class="icon-play-sign playbeaticon"></span> Play Beat</span></a></div>
这是js:
/*SOUNDCLOUD CLICK TO PLAY*/
var formatPlayer = '&iframe=true';
formatPlayer += '&color=3498DB';
formatPlayer += '&buying=false';
formatPlayer += '&download=false';
formatPlayer += '&show_playcount=false';
formatPlayer += '&show_reposts=false';
formatPlayer += '&show_user=false';
formatPlayer += '&show_comments=false';
formatPlayer += '&liking=false';
formatPlayer += '&hide_related=true';
formatPlayer += '&sharing=false';
formatPlayer += '&maxheight=125';
formatPlayer += '&auto_play=true'; // Play once user clicks link!
formatPlayer += '&show_artwork=true';
//LOAD IFRAME ON CLICK
$('.scload').click(function(){
event.preventDefault();
var $link = $(this);
var getJSONstring = 'https://soundcloud.com/oembed?format=js&url=' + $link.attr('href') + formatPlayer;
//Replace contents
$.getJSON(getJSONstring + '&callback=?', function(response) {
var widget = response.html;
var src = $(widget).attr('src');
widget = $(widget).attr('src', src.replace('?visual=true', '?visual=false')); // Update iFrame src
$link.replaceWith(widget); }); });
已修复。忘记将 event
传入 click
函数。这现在适用于 Firefox。
/*SOUNDCLOUD CLICK TO PLAY*/
var formatPlayer = '&iframe=true';
formatPlayer += '&color=3498DB';
formatPlayer += '&buying=false';
formatPlayer += '&download=false';
formatPlayer += '&show_playcount=false';
formatPlayer += '&show_reposts=false';
formatPlayer += '&show_user=false';
formatPlayer += '&show_comments=false';
formatPlayer += '&liking=false';
formatPlayer += '&hide_related=true';
formatPlayer += '&sharing=false';
formatPlayer += '&maxheight=125';
formatPlayer += '&auto_play=true'; // Play once user clicks link!
formatPlayer += '&show_artwork=true';
//LOAD IFRAME ON CLICK
$('.scload').click(function (e) {
e.preventDefault();
var $link = $(this);
var getJSONstring = 'https://soundcloud.com/oembed?format=js&url=' + $link.attr('href') + formatPlayer;
//Replace contents
$.getJSON(getJSONstring + '&callback=?', function(response) {
var widget = response.html;
var src = $(widget).attr('src');
widget = $(widget).attr('src', src.replace('?visual=true', '?visual=false')); // Update iFrame src
$link.replaceWith(widget); }); });