关键词:
【中文标题】内部函数在 Firefox 中不起作用,但在 chrome 中可以【英文标题】:Inner function does't work in firefox, but its okay in chrome 【发布时间】:2021-10-27 21:48:52 【问题描述】:我编写这段代码是为了初始化一个编辑器,但我的代码在 Firefox 浏览器中的行为有所不同。
这是我的代码的一部分:
window.hexbit.widget =
.
.
.
initEditorOn: function (editorId, mediaButtons = false)
// check id is real
if (!document.getElementById(editorId) ||
editorId.endsWith('__i__'))
return;
// The user has disabled TinyMCE.
if (typeof window.tinyMCE === 'undefined')
wp.editor.initialize(editorId,
quicktags: true
);
return;
if (window.tinyMCE.get(editorId) !== null)
console.log('window.tinyMCE.get(editorId) !== null', window.tinyMCE.get(editorId))
// reinitialize editor
window.tinyMCE.get(editorId).on('remove', function ()
console.log('removed');
window.setTimeout(function ()
window.hexbit.widget.initEditorOn(editorId, mediaButtons);
, 50);
);
wp.editor.remove(editorId);
return
//init tinyMCE
window.wp.editor.initialize(editorId,
mediaButtons: mediaButtons,
tinymce:
forced_root_block: false,
remove_linebreaks: false,
remove_trailing_brs: false,
verify_html: false,
mode: 'html',
textarea_rows: 4,
entity_encoding: "raw",
init_instance_callback: function (editor)
editor.getBody().style.backgroundColor = "#F4FFFF";
// rebuild editor if iframe destroyed
jQuery(editor.getWin()).on('unload', function ()
console.log('#########HERE############ ')
window.hexbit.widget.initEditorOn(editorId, mediaButtons);
);
,
setup: function (editor)
// important to save in live edit
editor.on('keyup execcommand paste', window.tinyMCE.util.Delay.debounce(function (e)
window.tinyMCE.triggerSave();
, 1000));
editor.on('keyup execcommand paste', window.tinyMCE.util.Delay.debounce(function (e)
$('body #' + editorId).trigger('change');
, 3000));
,
);
,
.
.
.
问题是:虽然这段代码在 Chrome 中运行良好,但在 Firefox 中,当调用此 jQuery(editor.getWin()).on('unload', function ()
回调时,我的调试日志 console.log('#########HERE############ ')
按预期打印出来,但未调用此行 window.hexbit.widget.initEditorOn(editorId, mediaButtons);
!
我找不到这个错误的原因,如果有人知道,请解释一下。
谢谢...
【问题讨论】:
如果是is not called
肯定有错误 - 错误是什么
好的。通过从第一个条件下设置断点,我意识到问题出在 DOM 上,而这个问题是由于 Firefox 浏览器中未准备好的 DOM 造成的...,并且 init 操作应该在 "删除回调”。
【参考方案1】:
我通过使用延迟为 0 的 setTimeOut
修复了这个问题,underscore js 也有一个函数 _.defer(function, *arguments) 推迟调用函数直到当前调用堆栈被清除,类似于使用延迟为 0 的 setTimeout。
它对于在不阻塞 UI 线程更新的情况下以块执行昂贵的工作或 HTML 渲染非常有用。
【讨论】:
Firefox:CSS 纵横比在 Firefox 中不起作用,但在 Chrome 中起作用
】Firefox:CSS纵横比在Firefox中不起作用,但在Chrome中起作用【英文标题】:Firefox:CSSaspectratiodoesn\'tworkinFirefoxbutdoesinChrome【发布时间】:2021-08-2015:35:23【问题描述】:我在我的应用程序中使用display:grid。我希望网格项始终是方形的... 查看详情
为啥jquery plusslider在google chrome中不起作用但在firefox中起作用
】为啥jqueryplusslider在googlechrome中不起作用但在firefox中起作用【英文标题】:whyjqueryplussliderdoesn\'tworkingooglechromebutworksinfirefox为什么jqueryplusslider在googlechrome中不起作用但在firefox中起作用【发布时间】:2012-09-1923:28:08【问题描述】... 查看详情
JavaScript 在 Safari 中不起作用,但在 Firefox 和 Chrome 中起作用
】JavaScript在Safari中不起作用,但在Firefox和Chrome中起作用【英文标题】:JavaScriptdoesn\'tworkinSafaributdoesinFirefoxandChrome【发布时间】:2020-03-2503:54:40【问题描述】:我有一个要使用Parsley验证的表单。提交按钮具有以下JavaScript代码,... 查看详情
ajax 跨源请求在 safari 中不起作用,但在 chrome 和 firefox 中起作用
】ajax跨源请求在safari中不起作用,但在chrome和firefox中起作用【英文标题】:ajaxcrossoriginrequestdoesn\'tworkinsafaributworksinchromeandfirefox【发布时间】:2018-04-2008:29:26【问题描述】:我正在制作一个使用脚本标签的shopify应用程序,我需... 查看详情
动态创建的可编辑 iframe 在 Firefox 中不起作用
】动态创建的可编辑iframe在Firefox中不起作用【英文标题】:DynamicallycreatededitableiframenotworkinginFirefox【发布时间】:2019-03-1318:06:42【问题描述】:我有一个在JavaScript中使用createElement()在触发函数时生成的iframe,它变成了一个文本... 查看详情
使用鼠标的 CSS 滚动捕捉在 Safari 中不起作用,但在 Firefox 和 Chrome 中有效
】使用鼠标的CSS滚动捕捉在Safari中不起作用,但在Firefox和Chrome中有效【英文标题】:CSSscrollsnapwithmousedoesnotworkinSafaributworksinFirefoxandChrome【发布时间】:2021-03-1222:01:44【问题描述】:这是一个简单的滚动快照演示:.scrollborder:2pxso... 查看详情
背景附件“固定”在 Firefox 中不起作用
】背景附件“固定”在Firefox中不起作用【英文标题】:Backgroundattachment"fixed"doesn`tworkinFirefox【发布时间】:2017-07-1723:04:25【问题描述】:我发现Firefox中的背景附件存在问题。我想让我的横幅背景固定(http://inkerkam.so-use.ru... 查看详情
卢比符号在Firefox中不起作用
】卢比符号在Firefox中不起作用【英文标题】:Rupeesymbolnotworkinginfirefox【发布时间】:2012-09-0915:51:55【问题描述】:我使用以下货币代码作为印度卢比符号(&#8377)。但它在Firefox中不受支持,但在chrome中支持。所有浏览器都支... 查看详情
为啥我的动画在 Firefox 中不起作用?
】为啥我的动画在Firefox中不起作用?【英文标题】:WhydoesmyanimationnotworkinFirefox?为什么我的动画在Firefox中不起作用?【发布时间】:2016-08-0105:38:13【问题描述】:我有一些代码可以在Chrome中完美运行,但在Firefox中无法运行我希... 查看详情
CORS 在 Firefox 中不起作用
】CORS在Firefox中不起作用【英文标题】:CORSnotworkinginFirefox【发布时间】:2015-03-1619:14:03【问题描述】:我正在尝试通过ajax将数据加载到jQuery对话框中,但在Firefox(34.0.5)中请求失败。工作正常,我在Chrome和Safari中没有收到任何投... 查看详情
textarea的window.getSelection()在Firefox中不起作用?
】textarea的window.getSelection()在Firefox中不起作用?【英文标题】:window.getSelection()oftextareanotworkinginfirefox?【发布时间】:2013-12-2313:05:34【问题描述】:我正在尝试在HTML页面上获取选择文本。我使用下面的代码,而window.getSelection... 查看详情
Stripe Checkout 在 Firefox 中不起作用
】StripeCheckout在Firefox中不起作用【英文标题】:StripeCheckoutnotworkinginFirefox【发布时间】:2016-12-0719:13:33【问题描述】:我已经通过PHP库在我的Wordpress网站上集成了StripeCheckout。一切都很好,但在Firefox中,StripeiFrame会引发错误:“... 查看详情
使用 nameProp 的 JQuery 图像翻转在 Firefox 和 Chrome 中不起作用
】使用nameProp的JQuery图像翻转在Firefox和Chrome中不起作用【英文标题】:JQueryimagerolloverusingnamePropdoesn\'tworkinFirefoxandChrome【发布时间】:2014-01-0414:34:54【问题描述】:我有一个JQuery函数,当光标悬停在较小的图像上时,它可以将缩... 查看详情
背景图像路径在Firefox中不起作用
】背景图像路径在Firefox中不起作用【英文标题】:Backgroundimagepathnotworkinginfirefox【发布时间】:2012-11-0514:05:09【问题描述】:我在Firefox中加载<li>的背景图像时遇到问题。我原来的代码是:background:#bdcad7url(../images/navbg.... 查看详情
moz-placeholder 在 Firefox 中不起作用
】moz-placeholder在Firefox中不起作用【英文标题】:moz-placeholderdoesnotworkinFirefox【发布时间】:2012-12-1011:04:46【问题描述】:请查看下面的代码,占位符的CSS在Firefox(最新版本)中不起作用,但在Chrome中可以正常工作。如何为Firefox... 查看详情
旋转齿轮动画在 Firefox 中不起作用
】旋转齿轮动画在Firefox中不起作用【英文标题】:SpinninggearsanimationnotworkinginFirefox【发布时间】:2016-05-1006:38:22【问题描述】:我不确定我错过了什么,但以下动画在Safari中有效,但在Firefox中无效。也不确定它是否在IE中工作。... 查看详情
Jquery 日期规则在 Firefox 和 IE 中不起作用
】Jquery日期规则在Firefox和IE中不起作用【英文标题】:JquerydaterulenotworkinginfirefoxandIE【发布时间】:2016-03-2520:28:34【问题描述】:我已经使用jquery日期规则呈现了普通文本。日期规则在chrome中运行良好,但在Firefox和IE中不起作用... 查看详情
Float left in a div 在 IE7 中不起作用,但在 Firefox 和 IE8 中起作用
】Floatleftinadiv在IE7中不起作用,但在Firefox和IE8中起作用【英文标题】:FloatleftinadivdoesnotworkinIE7butdoesinFirefoxandIE8【发布时间】:2011-03-2408:35:33【问题描述】:当我有三个div都剩下浮动时,我希望这些部分根据其中数据的长度来扩... 查看详情