javascript - 如何允许我的 Product1 用户从 Product1 网页为我的 Product2 链接添加书签?
问题描述
我试图让我的用户通过单击按钮为我的外部产品链接添加书签,但遇到了问题,window.sidebar.addPanel
因为window.external.AddFavorite
现在两者都不支持。
我有一个 PHP 应用程序并在这里寻找最合适的解决方案。
我正进入(状态
未捕获的类型错误:window.sidebar.addPanel 不是函数
以下代码错误。
<head>
<script type="text/javascript">
function AddToBookmark() {
if (window.sidebar) { // Firefox
window.sidebar.addPanel('Dottoro help page', 'http://help.dottoro.com', '');
} else {
if (window.external && ('AddFavorite' in window.external)) {
// Internet Explorer
window.external.AddFavorite('http://help.dottoro.com', 'Dottoro help page');
} else { // Opera, Google Chrome and Safari
alert("Your browser doesn't support this example!");
}
}
}
</script>
</head>
<body>
<button onclick="AddToBookmark();">Add to Bookmark</button>
</body>
解决方案
根据这个答案
addPanel
自 23 版起已从 Firefox 中删除。但您可以改用标记:<a href="http://stackoverflow.com" title="Stack Overflow" rel="sidebar">Bookmark me</a>
因此,您可以在函数中模拟点击类似<a>
标签,AddToBookmark()
如下所示。
const anchorTag = document.createElement('a');
anchorTag.href = "http://help.dottoro.com"
anchorTag.title= "Dottoro help page";
anchorTag.rel= "sidebar";
anchorTag.click();
<body>
<button onclick="AddToBookmark();">Add to Bookmark</button>
<script type="text/javascript">
function AddToBookmark() {
if (window.sidebar) { // Firefox
const anchorTag = document.createElement('a');
anchorTag.href = "http://help.dottoro.com"
anchorTag.title = "Dottoro help page";
anchorTag.rel = "sidebar";
anchorTag.click();
} else {
if (window.external && ('AddFavorite' in window.external)) {
// Internet Explorer
window.external.AddFavorite('http://help.dottoro.com', 'Dottoro help page');
} else { // Opera, Google Chrome and Safari
alert("Your browser doesn't support this example!");
}
}
}
</script>
</body>
推荐阅读
- groovyshell - 防止 groovysh 将注意力转移到 macOS 上
- python - 仅取 DataFrame 中每一行的特定值的平均值,同时对具有相同索引名称的行进行分组并忽略 Nan?
- mysql - MYSQL 查询语言
- dialogflow-es - 当输入与训练短语不完全相同时,Dialogflow 未检测到实体?
- javascript - 使用切换开关更改背景颜色
- amazon-ec2 - Stackdriver 日志记录代理安装在 Ubuntu 16.04.5 LTS AWS EC2 上失败
- javascript - 将每个值移动到数组中自己的唯一索引中的最简单方法是什么?
- javascript - 比较两个字符串的重复项和字符串位置
- couchdb - 在使用 CouchDB 启动第一个网络时获取 Waring
- python - 如何在 python 中使用 Sainsmart 8 通道 USB 继电器