Files
fitme3070.pt/site/assets/js/lazy/plugins/jquery.lazy.iframe.js
T
andreandClaude Opus 4.8 e68d357177 Initial import of fitme3070.pt platform
Plain-PHP fleet platform with id.andmore.pt SSO. Wires shared/platform-tools
as a submodule (platform_update, backups, git/migration tools) like the other
platforms.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 10:44:58 +01:00

83 lines
2.8 KiB
JavaScript

/*!
* jQuery & Zepto Lazy - iFrame Plugin - v1.5
* http://jquery.eisbehr.de/lazy/
*
* Copyright 2012 - 2018, Daniel 'Eisbehr' Kern
*
* Dual licensed under the MIT and GPL-2.0 licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl-2.0.html
*/
;(function($) {
// load iframe content, like:
// <iframe data-src="iframe.html"></iframe>
//
// enable content error check with:
// <iframe data-src="iframe.html" data-error-detect="true"></iframe>
$.lazy(['frame', 'iframe'], 'iframe', function(element, response) {
var instance = this;
if (element[0].tagName.toLowerCase() === 'iframe') {
var srcAttr = 'data-src',
errorDetectAttr = 'data-error-detect',
errorDetect = element.attr(errorDetectAttr);
// default way, just replace the 'src' attribute
if (errorDetect !== 'true' && errorDetect !== '1') {
// set iframe source
element.attr('src', element.attr(srcAttr));
// remove attributes
if (instance.config('removeAttribute')) {
element.removeAttr(srcAttr + ' ' + errorDetectAttr);
}
}
// extended way, even check if the document is available
else {
$.ajax({
url: element.attr(srcAttr),
dataType: 'html',
crossDomain: true,
xhrFields: {withCredentials: true},
/**
* success callback
* @access private
* @param {*} content
* @return {void}
*/
success: function(content) {
// set responded data to element's inner html
element.html(content)
// change iframe src
.attr('src', element.attr(srcAttr));
// remove attributes
if (instance.config('removeAttribute')) {
element.removeAttr(srcAttr + ' ' + errorDetectAttr);
}
},
/**
* error callback
* @access private
* @return {void}
*/
error: function() {
// pass error state to lazy
// use response function for Zepto
response(false);
}
});
}
}
else {
// pass error state to lazy
// use response function for Zepto
response(false);
}
});
})(window.jQuery || window.Zepto);