मेरे पास एक उपयोगकर्ता अनुबंध स्क्रीन है। मूल रूप से एक आईफ़्रेम और एक बटन के साथ एक HTML दृश्य। जब उपयोगकर्ता नीचे स्क्रॉल करता है तो मैं बटन को सक्षम करना चाहता हूं। यह सभी डेस्कटॉप ब्राउज़र, आईई, क्रोम, सफारी के लिए काम करता है लेकिन आईओएस उपकरणों पर मोबाइल सफारी या क्रोम पर काम नहीं करता है। ऐसा लगता है कि 'स्क्रॉलिंग' घटना ठीक से संलग्न नहीं होती है। क्या आप यहां कुछ ऐसा देखते हैं जो वह काम करेगा?एंगुलरजेएस एक उपयोगकर्ता समझौते के दृश्य के लिए निर्देश, सक्षम बटन का पता लगाने, मोबाइल सफारी पर काम नहीं करता
(function() {
angular.module('myapp').directive('textAgreement', function($timeout, ActivityLogService) {
return {
restrict: 'A',
scope: {
onscrollCallback: '&onscrollCallback',
onloadCallback: '&onloadCallback'
},
compile: function(tElement) {
return function(scope, element) {
/** Called on load **/
var appliedCheck = function(event) {
try {
if (typeof scope.onloadCallback !== undefined) {
if (typeof scope.onloadCallback == 'function') {
scope.onloadCallback();
scope.$apply();
}
}
var elm = element[0].contentWindow.document.body;
var newwin = element[0].contentWindow;
if (elm) {
$(newwin).scroll(function() {
var checkBottom = (elm.scrollTop+600) >= elm.scrollHeight;
console.log('###$$$ +++++ ' + elm.scrollTop + ' ' + elm.scrollHeight);
if (checkBottom) {
scope.bottom = true;
if (typeof scope.onscrollCallback !== undefined) {
if (typeof scope.onscrollCallback == 'function') {
scope.onscrollCallback();
scope.$apply();
}
}
}
});
}
} catch(e) {
console.log(e);
}
};
element.bind('load', appliedCheck);
};
}
};
});
})();
<iframe text-agreement onload-callback="disableLoading()" onscroll-callback="enableAgree()" id="agreeFrame" src="{{ ::trustSrcAgreementUri }}" style="border:0" width="100%" height="100%"></iframe>
और वास्तव में इसे हल करने के लिए, आप इसे स्क्रॉल के बजाय "टचमोव" ईवेंट के साथ आज़मा सकते हैं। –