Jira自定义小书签脚本异常:执行后页面主体被样式值替换求助
解决Jira小书签页面被替换的问题
问题原因
小书签的执行逻辑和浏览器控制台不一样:控制台运行代码后默认返回undefined,不会干扰页面;但小书签里的代码如果最后一行是有返回值的表达式(比如你写的赋值语句,执行后会返回赋值的内容,像'1000px'或'none'),浏览器会把这个返回值当成新页面内容,直接替换当前页面。
修复方案
只要确保小书签代码执行后没有返回值就行,常用两种实现方式:
方式1:在代码末尾添加void 0;
修改后的小书签代码如下,执行后不会替换页面:
javascript:document.getElementsByClassName('jira-editor-container')[0].style.height='1000px';document.getElementById('viewissuesidebar').style.display='none';void 0;
方式2:用自执行函数包裹代码
这种写法更规范,同样能避免返回值问题:
javascript:(function(){document.getElementsByClassName('jira-editor-container')[0].style.height='1000px';document.getElementById('viewissuesidebar').style.display='none';})();
测试说明
把上面任意一段代码复制到书签的URL输入框,保存后点击书签就能正常执行功能了。
内容的提问来源于stack exchange,提问作者Smokin Joe
相关产品推荐
相关产品推荐

