1

크로스 라이더 응용 프로그램 프레임 워크를 사용하여 크롬/파이어 폭스/사파리 확장 프로그램을 만드는 중입니다. 이 기능은 사용자가 서핑 중일 때 한 번에 웹 사이트를 북마크에 추가 할 수있는 기능으로 나중에 추가 할 기능이 있습니다.크로스 라이더 팝업 콘텐츠 조작

동일한 경우 사용자가 이미 버튼 클릭으로 열리는 "팝업"에 로그인하지 않은 경우 사용자에게 로그인/가입 화면을 표시해야합니다. 사용자가 로그인 한 경우 팝업을 통해 사용자 목록에 탭 URL을 다시 추가해야합니다. 인증은 원격 응용 프로그램을 통해 이루어집니다.

Google 검색 및 DOM 요소를 조작하는 방법을 찾기 위해 크로스 라이더 API를 읽고, "팝업"내부의 이미지를로드하는 방법을 찾을 수 없습니다. 나는 그 일을하는 방법에 대해 너무 확신하지 못한다. 어떤 도움이라도 대단히 감사합니다.

프레임 워크도 변경해야합니까? 이 경우 추천은 무엇입니까?

위의 내용이 추상적 인 경우 자세한 내용을 알려 드리겠습니다.

답변

3

감사합니다. 몇 가지 측면에 대해 질문하고 일반적인 방법으로 답변을 시도하겠습니다.

  1. 로그인하십시오 appAPI.browserAction.onClick 콜백에서 북마크를 저장하기 전에, 당신은 확실히 사용자가 로그인하지 않은 경우 로그인 팝업을 표시하는 코드를 추가 할 수 있습니다 당신이 중 하나를 사용자에게 표시이 사용하는 형태를 얻을 수 있습니다. 사이드 바 플러그인 또는 jqueryUI 사용과 같은 여러 가지 방법이 있습니다.

  2. 탭 URL : 확장 단추를 사용하여 책갈피 저장을 실행한다고 가정하므로 단추 콜백이 정의 된 백그라운드 범위에 URL이 필요합니다. 이를 위해 가장 쉬운 방법은 예를 들어, appAPI.tabs.onTabSelectionChanged 방법을 사용하여 활성 탭의 추적을 유지하는 것입니다 : 함께 그래서 모두 아이디어를 넣어

    appAPI.ready(function() { 
    var activeTab = null; 
    
        appAPI.tabs.onTabSelectionChanged(function(tabInfo) { 
        activeTab = tabInfo.tabUrl; 
        }); 
    }); 
    

    , 당신 코드 :

background.js

background.js :

같은 것을 보일 수 있습니다3210

extension.js :

appAPI.ready(function($) { 
    appAPI.message.addListener(function($) { 
    if (msg.action === 'userLogin') { 
     // your code for user login 
     ... 
     // Once user logged in send message to background to save bookmarkURL 
     if (userLoggedIn) { 
     appAPI.message,toBackground({action:'saveBookmark', boomarkURL:msg.bookmarkURL}); 
     return; 
     } 
    } 
    }); 
}); 
관련 문제