iframe code fix for new 1.7.7 code
Posted: Sat Sep 30, 2017 11:52 pm
The code to add into overall_footer.html of phpBB has been fixed due to a fake closing char ( } ) on inline JS code lines to be activated or not.
https://www.axew3.com/w3/2016/02/embed- ... esponsive/
If experiencing no resize, please substitute with new code in the overall_footer.html, the old code added. Remember to setup the line
with your domain name (ex: axew3.com) if not on localhost
and to recompile phpBB template.
https://www.axew3.com/w3/2016/02/embed- ... esponsive/
If experiencing no resize, please substitute with new code in the overall_footer.html, the old code added. Remember to setup the line
Code: Select all
document.domain = 'localhost';
and to recompile phpBB template.
Code: Select all
<script type="text/javascript">
document.domain = 'localhost'; // THIS IS MANDATORY! Set/Change this value to your domain (example: axew3.com (or leave localhost if on localhost))
var w3all_doc_domain = document.domain;
$(document).on("click", "a", function() {
var href = $(this).attr("href");
$(this).attr("href", href.replace('iframe=true&', '')); // remove! or get loop in htaccess if our var has been appended before ...
var w3allappend = href;
var w3all_parent_element_id = $(this).parent().get( 0 ).id; // detect click x ... (ex: return ID smiley-box, onclick post smiles) ... // detect and avoid/allow certain behaviors
var w3all_onclick_smile = (w3all_parent_element_id.indexOf('smiley-box') > -1);
var w3all_onview_topic = (href.indexOf('viewtopic.php') > -1);
var w3all_onview_attach = (href.indexOf('file.php') > -1);
var w3all_onview_post = /#p[0-9]+/ig.exec(href);
var w3all_ck_quickmod = (href.indexOf('quickmod') > -1);
var w3all_onreply_topic = (href.indexOf('mode=reply') > -1);
var w3all_ck_onindex = (href.indexOf('index.php') > -1);
var w3all_onsubmit_post = /^post?/ig.exec(href);
var mfs = $(this.window).scrollTop() + 0; // may change to 100, or 200 the 0 value here, to better fit your WP theme on scroll
if ( w3all_onclick_smile === false && w3all_onview_attach === false ) {
if ('parentIFrame' in window) window.parentIFrame.scrollTo(0,mfs);
}
if ('parentIFrame' in window) window.parentIFrame.sendMessage(w3allappend);
});
///////////////////////////////////////////////////////////////////////////
// w3all Ajax UPDATES for phpBB events
if (window.frameElement) { // if in iframe mode ... to avoid js error w3all_ajaxup_from_phpbb is not a function when forum called not iframe mode (that you can also trascure maybe) if phpBB is surfed by full address and not iframe
/* // remove this line to activate the follow to activate ajax PM count update for iframe page forum
window.onload = function() {
var pmn = "{PRIVATE_MESSAGE_COUNT}";
var w3all_phpbb_u_logged = "{S_USER_LOGGED_IN}";
// to send to wp at once here, like this: #w3all_phpbbpmcount=val#w3all_phpbbnotifycount=val#etc etc etc
var w3appendevents = '#w3all_phpbbpmcount=' + pmn + '#w3all_phpbb_u_logged=' + w3all_phpbb_u_logged;
parent.w3all_ajaxup_from_phpbb(w3appendevents);
}
/* // remove this line to activate
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
// htaccess trick for right click /copy/paste/ links
// to apply htaccess rules and rewrite urls for this and email notification, please read this tutorial:
// https://www.axew3.com/w3/2017/04/wp_w3all-htaccess-javascript-rewrite-links-point-iframe-how-to/
// remove starting /* and ending */
// that wrap the code here below to activate
/* // remove this line to activate click /copy/paste/ links x htaccess
$( "a" ).contextmenu(function() {
var href = $(this).attr("href");
var shortlink = /^#p[0-9]+/ig.exec(href);
var ck = (href.indexOf('iframe=true') > -1);
var ckl = /^(http[s]?:\/\/[-a-z0-9\.]+)/ig.exec(href); // check if link point to external resource: a passed phpBB url (attr("href")) is relative, not absolute: so we assume that if http(s) is present,
// than it should be a link that point to an external iframe resource. Can be improved further more using this same pattern result.
if ( ck == false && ckl == null && shortlink == null ){ // not re-append // not append if short link like #p49 (link of the post on viewtopic) or passed link point to an external resource
var href0 = href.split('?');
if(href0[1] == null){ href0[1] = ''; } else { href0[1] = '&' + href0[1]; }
var href1 = href0[0] + '?iframe=true' + href0[1];
$(this).attr("href", href1); // send out before mouseup ...
}
});
$( "a" ).mouseup(function() { // but remove on mouseup, or leaving iframe=true we'll loop with htaccess ...
var href = $(this).attr("href");
$(this).attr("href", href.replace('iframe=true&', ''));
});
*/ // remove this line to activate click /copy/paste/ links x htaccess
///////////////////////////////////////////////////////////////////////////
// TO ACTIVATE phpBB lightbox events remove /* and */ here below
// NOTE: Due to last update fix, this should not be more required, as in any other phpBB mod
/*
$(document).on('mouseup', '.postimage', function(){
//var w3allappend = "getw3all_lightbox";
if ('parentIFrame' in window) window.parentIFrame.scrollToOffset(0,0);
//if ('parentIFrame' in window) window.parentIFrame.sendMessage(w3allappend);
});
*/
} // END if (window.frameElement) {
</script>
<script type="text/javascript" src="iframeResizer.contentWindow.min.js" defer></script>