MP_Calculator_Enqueue::iframe_additional_script()
Additional script for iframe.
Source Source
File: mortgage-platform/Inc/Calculators/MortgageCalculator/MP_Calculator_Enqueue.php
protected static function iframe_additional_script() {
$ajax_url = admin_url( 'admin-ajax.php' );
$nonce = wp_create_nonce( MortgagePlatform::$prefix . 'nonce' );
?>
<script>
var form = window.parent.document.querySelector('#mortgageCalculatorIframe')
var data = []
var arr = [
'mortgageamount',
'languages',
'mortgageamount_default',
'interestrate',
'interestrate_default',
'downpayment',
'downpayment_default',
'term',
'termyears',
'termmonths',
'term_default',
'button_text',
'button_reset_text',
'type_style',
'primary_color',
'fonts',
'type_inputs',
'rounded_elements',
'slider_for_input',
'type_slyder',
]
if (form) checkDataset()
function checkDataset () {
arr.forEach(function (i) {
if (Object.keys(form.dataset).length !== 0) {
if (form.dataset[i] !== undefined) {
data[i] = form.dataset[i]
}
}
})
var script = document.querySelector('#mortgageCalculatorIframe script')
if (data['type_style'] === 'fullpage') {
var cssMortgagecalculatorFullpage = document.createElement('link')
cssMortgagecalculatorFullpage.rel = 'stylesheet'
cssMortgagecalculatorFullpage.type = 'text/css'
cssMortgagecalculatorFullpage.href = '<?php echo esc_url( plugins_url( '../assets/css/fullpage.min.css', __FILE__ ) ); ?>'
document.querySelector('body').appendChild(cssMortgagecalculatorFullpage)
}
if (data['type_style'] === 'darktheme') {
var cssMortgagecalculatorFullpage = document.createElement('link')
cssMortgagecalculatorFullpage.rel = 'stylesheet'
cssMortgagecalculatorFullpage.type = 'text/css'
cssMortgagecalculatorFullpage.href = '<?php echo esc_url( plugins_url( '../assets/css/darktheme.min.css', __FILE__ ) ); ?>'
document.querySelector('body').appendChild(cssMortgagecalculatorFullpage)
}
var xhr = new XMLHttpRequest()
var body = ''
for (var key in data) {
body += key + '=' + data[key] + '&'
}
xhr.open('POST',
'<?php echo esc_url( $ajax_url ); ?>?action=iframe_mortgagecalculator&nonce=<?php echo esc_attr( $nonce ); ?>',
true)
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4) return
if (xhr.readyState === 4 && xhr.status === 200) {
var responseBody = xhr.responseText
var div = document.createElement('div')
div.innerHTML = responseBody
document.querySelector('body').appendChild(div)
mortgageCalculator.init()
} else {
//console.log(xhr.statusText);
}
}
xhr.send(body)
}
setTimeout(function () {
parent.postMessage(Number(document.body.scrollHeight), '*')
}, 4000)
</script>
<?php
}
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0 | Introduced. |