2012-08-03 12 views
10

के तहत काम करना बंद कर दिया है मैंने फोनगैप/कॉर्डोवा कोड लिखा है जिसमें आईफ्रेम में कुछ ध्वनि क्लाउड विजेट प्लेयर शामिल हैं। एंड्रॉइड और आईओएस के तहत, डेस्कटॉप ब्राउज़र में कोड ठीक चल रहा था।ध्वनि क्लाउड आईफ्रेम ने आईओएस

आज आईओएस संस्करण ने संगीत बजाना बंद कर दिया। मैंने मोबाइल सफारी में कोड और एक ही नकारात्मक परिणाम के साथ विभिन्न iPhones और emulators पर कोड चलाने का प्रयास किया।

अन्य सभी प्लेटफॉर्म अभी भी इरादे के रूप में काम कर रहे हैं।

Xcode सांत्वना कुछ भी असामान्य दिखाने नहीं करता है लेकिन मोबाइल सफारी त्रुटि दिखाता है:

>Unsafe JavaScript attempt to access frame with URL http://domainname/ from frame with URL http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/12345. Domains, >protocolls and ports must match. 

मुझे यकीन है कि यह वहाँ से पहले किया गया है नहीं कर रहा हूँ, लेकिन यह सबसे अच्छा मैं मिल सकता है।

SC.get('/resolve', { 
     url : 'http://soundcloud.com/' + trackURL[c] 
    }, function(track) { 
      SC.get('/tracks/' + track.id + '/comments', function(comments) { 
       if (c == 0) { 
       $("#track1").append("<div style='height:110px; white-space:normal;overflow:visible;'> <img src='" + track.artwork_url + "' class='trackTitle' > <img src='img/play.png' id='play1' class='mainPlay'/> <h3 style='margin-top:75px;margin-left:120px; font-size:10px; position:absolute; line-height:10px;'> " + track.title + "</h3></div>"); 
       $("#track1").css("background", "none"); 
       $('#sc-widget1').attr("src", "http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/" + trackID[0]); 
      } 

    var widgetIframe = document.getElementById('sc-widget1'); 
    widget1 = SC.Widget(widgetIframe); 

    $("#play1").on('click', function() { 
     widget1.toggle(); 
    } 

मुझे आश्चर्य है अगर यह वास्तव में एक क्रॉस-डोमेन समस्या है:

यहाँ कोड के अनुसार हिस्सा है। वास्तव में मदद की सराहना की है।

धन्यवाद!

छोटे परिशिष्ट: जब एक शारीरिक iphone पर चल रहा है मैं कभी कभी एक मिलता है:

Failed to load webpage with error: The operation couldn’t be completed. (NSURLErrorDomain error -999.) 

लेकिन वह हमेशा ऐसा नहीं है और यह (गैर) कार्यक्षमता के लिए एक फर्क नहीं है।

+0

Cordova.plist में डोमेन को श्वेतसूची में करने का प्रयास किया? यह सिर्फ एक जंगली अनुमान है। – bouscher

+0

आप फोनगैप के साथ मीडिया एपीआई का उपयोग क्यों नहीं करते? http://docs.phonegap.com/en/2.6.0/cordova_media_media.md.html#Media –

उत्तर

1

यह इस तथ्य के कारण हो सकता है कि ध्वनि क्लाउड जेएस प्लेयर ध्वनि क्लाउड के डोमेन (जेएसओएन और वास्तविक ऑडियो) से संसाधन लोड करेगा जो कुछ ब्राउज़र असुरक्षित होने के रूप में परिभाषित होते हैं।

क्या यह काम करता है कि यह देखने के लिए वाइल्डकार्ड वर्ण '*' का उपयोग कर http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html के अनुसार सभी डोमेन को श्वेतसूची में डालने का प्रयास कर सकते हैं। यदि ऐसा होता है तो आप श्वेतसूची को उस विशिष्ट डोमेन पर सीमित कर सकते हैं, जिससे आप सामग्री लोड कर रहे हैं।

मैंने यह भी देखा है कि आपके कोड में संदर्भ है w.soundcloud.com एकल डब्ल्यू सही है?

संबंधित मुद्दे