Estoy tratando de permitir que mi usuario marque el enlace de mi producto externo haciendo clic en el botón, pero tengo un problema con window.sidebar.addPanel y window.external.AddFavorite , ya que ambos no son compatibles ahora.
Tengo una aplicación PHP y busco las mejores soluciones adecuadas aquí.
estoy obteniendo
TypeError no detectado: window.sidebar.addPanel no es una función
error con el siguiente código.
<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>Según esta respuesta
addPanelse eliminó de Firefox desde la versión 23. Pero puedes usar marcado en su lugar:<a href="http://stackoverflow.com" title="Stack Overflow" rel="sidebar">Bookmark me</a>
Por lo tanto, puede simular un clic en una etiqueta <a> similar en su función AddToBookmark() como se muestra a continuación.
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>