作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在3.2之前,我可以将菜单项类型设置为“外部链接”,然后将链接设置为
“javascript:myFunction()”
单击时,菜单项将调用 JavaScript 函数。但是在我升级到 3.2 后,当我做同样的事情并尝试保存菜单项时,它说“不允许保存”。
3.2 是否阻止了这种用法?如果是,我如何让菜单项执行我的 JS 函数?
最佳答案
我刚才在 Joomla 版本 3.2.1 中遇到了这个问题,涉及“Skype”链接,例如
skype:myloginname
这与此文件中允许和定义的协议(protocol)类型有关:
/administrator/components/com_menus/controllers/item.php,第 ~180 行。
有一个数组定义了可接受的方案:
$scheme = array('http', 'https', 'ftp', 'ftps', 'gopher', 'mailto', 'news', 'prospero', 'telnet', 'rlogin', 'tn3270', 'wais', 'url', 'mid', 'cid', 'nntp', 'tel', 'urn', 'ldap', 'file', 'fax', 'modem', 'git');
在列表末尾添加 skype
时 Joomla!允许保存外部链接。这同样适用于 javascript
。在任何情况下,您都应该考虑此解决方案带来的任何安全风险。
此外,您应该记住,此覆盖可能会在 joomla 的任何 future 更新中被丢弃。
关于joomla3.2 - 如何让菜单项在 Joomla 3.2 中执行 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313017/
我是一名优秀的程序员,十分优秀!