2011-11-15 5 views
0

열기 외부 웹 사이트/센차 터치 응용 프로그램에서 주소는 다음과 같습니다내가 정의 내 응용 프로그램 내부 ListPanel이

  //Create List View Using ListStore Created in data.js 
      SpotiPod.listPanel = new Ext.List({ 
       id: 'artistList', 
       store: SpotiPod.ListStore, 
       itemTpl: '<div>{ArtistName}</div>', 
       grouped: true, 
       indexBar: true, 
       listeners: { 
        itemtap: function(list, index){ 
         var rec = list.store.getAt(index) 
         //Ext.Msg.alert(rec.get('ArtistName'), 'Load In Spotify?', function(){location.href = rec.get('SpotifyURI');}); 
         Ext.Msg.show({ 
          title: rec.get('ArtistName'), 
          msg: 'Load In Spotify?', 
          buttons: Ext.MessageBox.YESNO, 
          fn: showSpotify 
          }); 
         function showSpotify(btn){ 
          if(btn == 'yes'){ 
           window.open(rec.get('SpotifyURI')); 
          } 
         } 
        } 
       } 
      }); 

이 응용 프로그램은 예술가의 목록을 제시하고, 때 스포티 파이 URI의를 사용하여 링크를 제공해야 당신은 그것이 응용 프로그램을 열고 아티스트를 보여줘야한다 spotify로드 예를 클릭하십시오. 아래의 애플리케이션은 브라우저와 iPhone의 모바일 사파리에서 잘 작동합니다. 그러나 응용 프로그램을 홈 화면에 추가하고 실행하면 더 이상 작동하지 않습니다. 'URL을 표시 할 수 없습니다.'라는 오류 메시지가 나타납니다.

링크를 올바르게 실행하기 위해 어떻게 변경 될 수 있는지에 대한 아이디어가 있습니까? 그렇지 않은 경우는 너무 실례 작동하는 경우 여기

+0

u는 홈 화면에 응용 프로그램을 추가하여 무엇을 의미합니까? – heyjii

+0

모바일 사파리 (예 : mydomain.com/mywebapp)에서 웹 앱 주소를 확인한 후 링크를 ​​실행하면 spotify 앱을 열고 열어 올바른 정보를로드합니다. '홈 화면에 추가'를 선택하고 내 발판에 앱을 놓으면 작동이 중지됩니다. –

답변

0

내가 엽차 포럼에서 발견 뭔가

건배

아담, 나도 몰라. 아이디어는 앵커 마크 업을 생성하고 window.open() 메소드를 호출하는 대신 클릭을 시뮬레이션하는 것입니다. sencha post에서 가져온 코드입니다.

Ext.util.openLink = function(href) { 
    var link = document.createElement('a'); 
    link.setAttribute('href', href); 
    link.setAttribute('target','_blank'); 
    var clickevent = document.createEvent('Event'); 
    clickevent.initEvent('click', true, false); 
    link.dispatchEvent(clickevent); 
return false; 
} 

http://www.sencha.com/forum/showthread.php?130358-window.open()-from-toolbar-button-opens-window-from-list-item-a-new-tab&p=639938#post639938

관련 문제