2012-05-27 1 views
1

오페라 브라우저 용 확장 기능을 개발 중이며 오페라 확장 기능이나 다른 방법으로 내 문제를 해결할 수있는 기능을 찾고 있습니다. 사용자가 기존 버전의 확장 프로그램 (목록보기 또는 'newmenu')과 새 버전 (일반보기 또는 'oldmenu')간에 전환 할 수 있기를 바랍니다.오페라 브라우저 확장 기능을 통해 다시로드

<a id="switch" href="javascript: void(0)" onClick="widget.preferences.version = 'newmenu'; document.getElementById('switch').innerHTML = 'Please reload the extension';">[Switch to Normal View]</a> 

widget.preferences.version = 'newmenu'이 oldmenu.html 파일이 새로운 메뉴를 사용할 수있는 사용자 환경을 설정합니다 다음과 같이

이 작업을 수행하는 코드는 widget.preferences.version = 'oldmenu'menu.html에있는 (여기에 표시되지 않음)은 이전 메뉴를 사용하도록 사용자 환경 설정을 설정합니다.

그런 다음 index.html 파일에서 확장 프로그램은 이전 메뉴 또는 새 메뉴를 표시해야하는지 확인합니다.

if (widget.preferences.version == "oldmenu") { 
    var ToolbarUIItemProperties = {title: "4chan Boards", icon: "icons/icon_64x64.png", popup: {href: "oldmenu.html", width: 220, height: 620}} 
} else { 
    var ToolbarUIItemProperties = {title: "4chan Boards", icon: "icons/icon_64x64.png", popup: {href: "menu.html", width: 250, height: 350}} 
} 

이제이 코드를 실행하려면 사용자가 수동으로 확장을 다시로드해야하는데 이는 매우 추합니다.

오페라 개발 포럼은 현재 도달 할 수 없기 때문에 (나쁜 게이트웨이와 긴 로딩 시간), 이것이 내 질문에 가장 적합하다고 생각합니다. 시간 내 줘서 고마워.

답변

0

글쎄,이 줄은 문제의 일부를 해결했습니다. 이 라인은 index.html에 있습니다.

theButton.onclick = function(){if (widget.preferences.version =="oldmenu") {theButton.popup.href = "oldmenu.html";}; if (widget.preferences.version == "newmenu"){theButton.popup.href = "menu.html";};}; 

또한이 줄을 약간 변경하고 href를 추가하면 메뉴 사이를 전환하는 것이 정말 빠르게 이루어졌습니다. 이것은 이전에 옵션이 아니 었습니다. 버튼을 다시 열었을 때 한 번만 전환하고 자동으로 다시 전환하기 때문입니다.

<a href="oldmenu.html" onClick="widget.preferences.version = 'oldmenu';">List view</a> 
<a href="menu.html" onClick="widget.preferences.version = 'newmenu';">[Switch to Normal View]</a> 

그러나이 방법으로 팝업의 너비와 너비를 변경할 수 없었습니다. 그래서 두 메뉴 사이에서 타협을했습니다.)