Я пытаюсь реализовать функциональность закладки почти кросс-браузер и нашел это на SO: How do I add an "Add to Favorites" button or link on my website?Uncaught TypeError: Объект # <HTMLDivElement> не имеет метода «addPanel»
Теперь я использую @ ответ PHPst в. .
<script type="text/javascript">
$(function() {
$("#bookmarkme").click(function() {
if (window.sidebar) { // Mozilla Firefox Bookmark
window.sidebar.addPanel(location.href,document.title,"");
} else if(/*@[email protected]*/false) { // IE Favorite
window.external.AddFavorite(location.href,document.title);
} else if(window.opera && window.print) { // Opera Hotlist
this.title=document.title;
return true;
} else { // webkit - safari/chrome
alert('Press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != - 1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page.');
}
});
});
</script>
он работает на простой веб-страницы .. как показано здесь: http://jsfiddle.net/GXas4/
но когда я использовать его внутри WordPress шаблон, в хроме я получаю ошибку JS, как это:
Uncaught TypeError: Object #<HTMLDivElement> has no method 'addPanel'
он не возвращает ошибку на консоли firefox, но ничего не делает.
У многих сообщений на SO есть вопросы, начинающиеся как это ('Uncaught TypeError: Object # не имеет метода'), но ничто, кажется, не указывает мне в правильном направлении.
У кого-нибудь есть идея, почему это происходит?
да, есть #sidebar, так как, по-вашему, я могу обойти эту проблему? EDIT: я попробую это на jsfiddle .. – reikyoushin
на самом деле, вы правы .. http://jsfiddle.net/hwZsa/1/, но как я могу отредактировать этот код для работы на странице с #sidebar? – reikyoushin
Измените первый тест на '(window.sidebar &&! (Window.sidebar instanceof Node))' – sabof