(function () {
var scriptName = "embed.js"; //name of this script, used to get reference to own tag
var jQuery; //noconflict reference to jquery
var jqueryPath = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.1/jquery.min.js";
var jqueryVersion = "1.12.1";
var scriptTag; //reference to the html script tag
/******** Get reference to self (scriptTag) *********/
var allScripts = document.getElementsByTagName('script');
var targetScripts = [];
for (var i in allScripts) {
var name = allScripts[i].src
if(name && name.indexOf(scriptName) > 0)
targetScripts.push(allScripts[i]);
}
scriptTag = targetScripts[targetScripts.length - 1];
audiomeIsLoaging = false;
/******** helper function to load external scripts *********/
function loadScript(src, onLoad) {
var script_tag = document.createElement('script');
script_tag.setAttribute("type", "text/javascript");
script_tag.setAttribute("src", src);
if (script_tag.readyState) {
script_tag.onreadystatechange = function () {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
onLoad();
}
};
} else {
script_tag.onload = onLoad;
}
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
}
/******** helper function to load external css *********/
function loadCss(href) {
var link_tag = document.createElement('link');
link_tag.setAttribute("type", "text/css");
link_tag.setAttribute("rel", "stylesheet");
link_tag.setAttribute("href", href);
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(link_tag);
}
/******** load jquery into 'jQuery' variable then call main ********/
if (window.jQuery === undefined || window.jQuery.fn.jquery !== jqueryVersion) {
loadScript(jqueryPath, initjQuery);
} else {
initjQuery();
}
function initjQuery() {
jQuery = window.jQuery.noConflict(true);
main();
}
function audiomeConsoleLog(strlog) {
if (audiomeLog == true) {
//console.log(strlog);
}
}
function VejaTambemStart(objcontent){
console.log ("VejaTambemIni INI")
var VT_RemoteUrl = 'https://vejatambem.com.br'
var VT_HostName = getHostName(document.location)
if (VT_HostName == "localhost") {
VT_RemoteUrl = "http://localhost:8080"
}
if (VT_HostName.indexOf("ngrok") > 0 ) {
VT_RemoteUrl = "http://localhost:8080"
}
VT_windowPathName = window.location.pathname;
var currentLocation = window.location.protocol + '//' + window.location.hostname + window.location.pathname
var VT_windowImage = jQuery('meta[property=og\\:image]').attr('content');
var url = VT_RemoteUrl + "/widget/" + objcontent.audiomeClientId + VT_windowPathName;
formData = {
'ContentTitle' : objcontent.audioMeTitle,
'ContentDescription' : objcontent.audioMeExcerpt,
'fullContent': objcontent.audiomeFullcontent,
'clienteId' : objcontent.audiomeClientId ,
'domain' : getHostName(document.location),
'fullPath' : currentLocation,
'ContentPic' : VT_windowImage,
}
jQuery.post( url,formData)
.done(function( data ) {
console.log("status -> " + data.status)
var contaFor = 0;
data.related.forEach(function(element) {
contaFor = contaFor + 1
if (contaFor <= 10 ) {
console.log("related Title-> " + element.ContentTitle);
console.log("related fullURL-> " + element.fullURL);
console.log("related Score-> " + element.ScoreRelated);
console.log("======================================= ");
}
});
});
}
function readMeAudioEnd(){
console.log("--> readMeAudioEnd INIT <--");
jQuery("#readmeerror").append("
ReadMeAudioEnd ")
audiomePlayCount = audiomePlayCount + 1;
if (audiomePlayCount <= audiomeMp3List.length - 1) {
//console.log('Next file');
audiomeAudioSeek = 0
audiomeSeekPercent = 0
playAudioTTS(audiomeMp3List[audiomePlayCount])
} else {
rewindAudioTTS();
audiomeConsoleLog('Finished! Playlist');
}
}
function playAudioTTS(mp3) {
console.log("--> playAudioTTS INIT <--");
jQuery("#readmeerror").append("
playAudioTTS ")
FireAnalytics("PlayAudio");
FireAnalyticsClienteReadme("PlayAudio");
jQuery("#audiomebtn-loader").hide();
if (audiomeSeekPercent > 0) {
audioMeProgress = audiomeSeekPercent * audiomeTotalTime;
audiomePlayCount = 0;
audiomeAudioSeek = audioMeProgress;
var audiomeAcumulador = 0
for ( i = 0 ; i < audiomeMp3List.length ; i++ ) {
audiomeAcumulador = audiomeAcumulador + audiomeMp3List[i].TotalSeconds
if (audiomeAcumulador < audioMeProgress) {
audiomePlayCount = i + 1;
audiomeAudioSeek = audioMeProgress - audiomeAcumulador
}
}
}
console.log("--> PLAY <--");
console.log("--> src --> " + audiomeMp3List[audiomePlayCount]);
console.log("--> PlayCount --> " + audiomePlayCount);
console.log("--> Seek --> " + audiomeAudioSeek);
readmeTTSAudio.src = audiomeMp3List[audiomePlayCount].url + "#t=" + audiomeAudioSeek
//readmeTTSAudio.src = "http://www.readme.com/file.mp3";
console.log(" --> SRCLOAD ok");
var playPromise = readmeTTSAudio.play();
if (playPromise !== undefined) {
playPromise.then(_ => {
// Automatic playback started!
// Show playing UI.
console.log("automatic play started");
})
.catch(error => {
// Auto-play was prevented
// Show paused UI.
audiomeErrorCount = audiomeErrorCount + 1;
console.log("UPS, automatic play ERROR");
FireAnalytics("playPromise Error");
if (audiomeErrorCount < 6) {
console.log("UPS, automatic play ERROR - TRY AGAIN " + audiomeErrorCount);
FireAnalytics("playPromise Error retry - " + audiomeErrorCount);
playAudioTTS(audiomeMp3List[audiomePlayCount]);
} else {
console.log("UPS, automatic play ERROR - DIE");
FireAnalytics("playPromise Error DIE - ");
audiomeLoadAudio = false
audiomeIsLoaging = false
audiomeErrorCount = 0;
rewindAudioTTS();
}
});
}
}
function playSponsoredAudioTTS(){
readmeTTSAudioSponsored.src = audiomeSponsoredAudio.SponsorFileName
console.log(" --> SPONSOR SRCLOAD ok");
var playPromise = readmeTTSAudioSponsored.play();
if (playPromise !== undefined) {
playPromise.then(_ => {
// Automatic playback started!
// Show playing UI.
console.log("automatic SPONSOR play started");
})
.catch(error => {
// Auto-play was prevented
// Show paused UI.
audiomeSponsorErrorCount = audiomeSponsorErrorCount + 1;
console.log("UPS, automatic SPONSOR play ERROR");
FireAnalytics("playPromise SPONSOR Error");
if (audiomeSponsorErrorCount < 3) {
console.log("UPS, automatic SPONSOR play ERROR - TRY AGAIN " + audiomeSponsorErrorCount);
FireAnalytics("playPromise SPONSOR Error retry - " + audiomeSponsorErrorCount);
playSponsoredAudioTTS();
} else {
console.log("UPS, automatic SPONSOR play ERROR - DIE");
FireAnalytics("playPromise SPONSOR Error DIE - ");
playAudioTTS(audiomeMp3List[audiomePlayCount]);
}
});
}
}
function playSponsoredSpotTTS(){
//readmeTTSSpotSponsored.src = "" + "http://localhost:27080/img/" + audiomeSponsoredSpot.banerKey
readmeTTSSpotSponsored.src = audiomeSponsoredSpot.SponsorFileName
console.log(" --> SPONSOR SRCLOAD ok");
var playPromise = readmeTTSSpotSponsored.play();
if (playPromise !== undefined) {
playPromise.then(_ => {
// Automatic playback started!
// Show playing UI.
console.log("automatic SPONSOR SPOT play started");
})
.catch(error => {
// Auto-play was prevented
// Show paused UI.
audiomeSpotErrorCount = audiomeSpotErrorCount + 1;
console.log("UPS, automatic SPONSOR SPOT play ERROR");
FireAnalytics("playPromise SPONSOR SPOT Error");
if (audiomeSpotErrorCount < 3) {
console.log("UPS, automatic SPONSOR play ERROR - TRY AGAIN " + audiomeSpotErrorCount);
FireAnalytics("playPromise SPONSOR Error retry - " + audiomeSpotErrorCount);
playSponsoredSpotTTS();
} else {
console.log("UPS, automatic SPONSOR play ERROR - DIE");
FireAnalytics("playPromise SPONSOR Error DIE - ");
playAudioTTS(audiomeMp3List[audiomePlayCount]);
}
});
}
}
function pauseAudioTTS() {
console.log("--> pauseAudioTTS INIT <--");
jQuery("#audiomeProgressBarAlpha").stop();
readmeTTSAudio.pause();
audiomeStatus = "pause"
jQuery("#audiomebtn-loader").hide();
jQuery("#audiomebtn-pause").hide();
jQuery("#audiomebtn-play").show();
//audiomeAudioSeek = audiomeHowlerList[audiomePlayCount].seek();
audiomeAudioSeek = readmeTTSAudio.currentTime;
console.log('audiomeAudioSeek - ' + audiomeAudioSeek)
console.log('audiomePlayCount - ' + audiomePlayCount)
jQuery("#audiomebtn-loader").hide();
setTimeout(function(){
audiomeIsLoaging = false;
}, 500);
}
function rewindAudioTTS() {
console.log("--> rewindAudioTTS INIT <--");
FireAnalytics("EndAudio");
jQuery("#audiomeProgressBarAlpha").stop();
audiomePlayCount = 0
audiomeAudioSeek = 0
readmeTTSAudio.pause;
audiomeStatus = "pause";
jQuery("#audiomebtn-loader").hide();
jQuery("#audiomebtn-pause").hide();
jQuery("#audiomebtn-play").show();
}
function audioMeCalculatetotalTime() {
console.log("--> audioMeCalculatetotalTime INIT <--");
var audioCount = 0
contaAudios = audiomeMp3List.length;
contaLoaded = 0;
audiomeMp3List.forEach(function(element) {
var audiotimmer = new Audio();
audiotimmer.src = element.url;
audiotimmer.addEventListener('loadedmetadata', function(){
var source = audiotimmer.src;
console.log("source -> " + source)
var TotalSeconds = parseInt(audiotimmer.duration);
audiomeTotalTime = audiomeTotalTime + TotalSeconds
console.log( "Seconds - " + TotalSeconds);
console.log( "audiomeTotalTime - " + audiomeTotalTime);
audioCount = audioCount + 1
audiomeMp3List.forEach(function(item) {
if (item.url == audiotimmer.src) {
item.TotalSeconds = audiotimmer.duration;
}
});
if (audioCount >= audiomeMp3List.length){
var minutes = parseInt(audiomeTotalTime / 60, 10);
var seconds = parseInt(audiomeTotalTime % 60);
if (minutes < 10 ) {minutes = "0" + minutes}
if (seconds < 10 ) {seconds = "0" + seconds}
audiomeTotalTimeDisplay = minutes + ":" + seconds ;
console.log( "TotalTime display - " + audiomeTotalTimeDisplay);
audiomeMp3List.forEach(function(x) {
console.log("audiomeMp3List.url " + x.url)
console.log("audiomeMp3List.TotalSeconds " + x.TotalSeconds)
});
}
contaLoaded = contaLoaded + 1;
if(contaLoaded >= contaAudios && contaAudios > 0) // Significa que termonou o load dos audios
{
if (audiomeSponsoredBannerFlag == "ON") {
// mostra o banner patrocinado
console.log("Show Sponsored Banner")
var img = new Image();
img.src = audiomeSponsoredBanner.SponsorFileName;
img.id = "audiomeSponsoredImage"
var link = document.createElement("a");
link.id = "audiomeSponsoredLink"; // Create a
element link.href = audiomeSponsoredBanner.bannerClick link.target = "_blank" document.getElementById('audiome-container').appendChild(link); document.getElementById('audiomeSponsoredLink').appendChild(img); jQuery("#audiomeSponsoredLink").fadeIn(); document.getElementById("audiomeSponsoredLink").addEventListener("click", audiomeSponsorClick); } if ( audiomeSponsoredAudioFlag == "ON") { playSponsoredAudioTTS(); } else if ( audiomeSponsoredSpotFlag == "ON") { playSponsoredSpotTTS() } else { playAudioTTS(audiomeMp3List[0]); } // audiomeHowlerList[0].play(); } },0); }); } function AddPauseToContent(content, classname, tagname){ if (strip(tagname) != "") { var x = document.getElementsByTagName(tagname); ////console.log("AddPauseToContent -> TAG " + tagname) } if (strip(classname) != "") { var x = document.getElementsByClassName(classname); ////console.log("AddPauseToContent -> CLASS " + classname) } var i; for (i = 0; i < x.length; i++) { text = x[i].textContent.trim() ////console.log (classname + tagname + " -> " + text) if (strip(text) != ""){ var replace = strip(text); var re = new RegExp(replace,"g"); content = content.replace( re , text + '. '); } } return content } function getHostName(fullurl){ var url = fullurl; var hostname = (new URL(url)).hostname; console.log("hostname -> " + hostname) return hostname; } function getTextElementByClass(classname){ var textbyclass = "" var x = document.getElementsByClassName(classname); var i; for (i = 0; i < x.length; i++) { textbyclass = x[i].textContent.trim() + " " } return textbyclass; } function HideElementByClass(documentClone, classname){ var x = documentClone.getElementsByClassName(classname); var i; for (i = 0; i < x.length; i++) { x[i].style.display = "none"; } return documentClone; } function HideElementByID(documentClone, idname){ console.log(" HideElementByID -> " + idname) var x = documentClone.getElementById(idname); if (x != null ) { x.style.display = "none"; } return documentClone; } const format = num => { const n = String(num), p = n.indexOf('.') return n.replace( /\d(?=(?:\d{3})+(?:\.|$))/g, (m, i) => p < 0 || i < p ? `${m},` : m ) } function ReadabilityAjust(textIn){ textOut = textIn //textOut = textOut.replace(/ – Pais&Filhos/g, '. Pais e Filhos'); textOut = textOut.replace(/\n|\s{2,}/g, ' '); textOut = textOut.trim() var str = textOut var regex = /(\.)([ABCDEFGHIJKLMNOPQRSTUVXYZ])/g; textOut = str.replace(regex, "$1 $2"); return textOut; } function strip(html) { var tmp = document.createElement("DIV"); tmp.innerHTML = html; return tmp.textContent||tmp.innerText; } function clearString(mystring) { return mystring.replace(/&/g, "&").replace(/>/g, ">").replace(/ LoadReadability INIT <--"); var documentClone = document.cloneNode(true); console.log("documentClone " + documentClone) // bloqueios padrao documentClone = HideElementByID(documentClone, "audiome-container"); documentClone = HideElementByClass(documentClone, "twitter-tweet"); documentClone = HideElementByClass(documentClone, "instagram-media"); documentClone = HideElementByID(documentClone, "fb-root"); documentClone = HideElementByClass(documentClone, "OUTBRAIN"); documentClone = HideElementByID(documentClone, "taboola-below-article-thumbnails"); // bloqueios do cliente // documentClone = HideElementByID(documentClone, "signin-wall-taximiter"); documentClone = HideElementByClass(documentClone, "portalt5-noticias-single__image"); documentClone = HideElementByClass(documentClone, "portalt5-noticias-single__related"); documentClone = HideElementByClass(documentClone, "portalt5-noticias-single__item portalt5-noticias-single__item--subtitle"); documentClone = HideElementByClass(documentClone, "portalt5-noticias-single__item portalt5-noticias-single__item--date"); article = new Readability(documentClone).parse(); audioMeContent = strip(article.content) audioMeTitle = article.title.trim() + ". Portal Tê 5. " audioMeExcerpt = getTextElementByClass("portalt5-noticias-single__item portalt5-noticias-single__item--subtitle") if (audioMeExcerpt.trim() != "") { if (audioMeExcerpt.trim().slice(-1) != ".") { audioMeExcerpt = audioMeExcerpt.trim() + ". " } } //console.log('title -> ' + audioMeTitle) //console.log('excerpt -> ' + audioMeExcerpt) ; //console.log('audioMeContent -> ' + strip(article.content)) audioMeContent = AddPauseToContent(audioMeContent, "", "h4") audioMeContent = AddPauseToContent(audioMeContent, "", "h2") audiomeFullcontent = ReadabilityAjust(audioMeTitle + audioMeExcerpt + audioMeContent); console.log("audiomeFullcontent ->" + audiomeFullcontent) var objcontent = {}; objcontent.audiomeClientId = audiomeClientId objcontent.audioMeTitle = audioMeTitle objcontent.audioMeExcerpt = audioMeExcerpt objcontent.audiomeFullcontent = audiomeFullcontent //VejaTambemStart(objcontent); } function audioMeCleartitle (audioMeTitle) { //ClearTitle.forEach(function(current, i) { //audiomeMp3List.push(data.urls[i]) // audioMeTitle = audioMeTitle.replace(ClearTitle[i], "") //console.log('audiome title replace ' + data.urls[i]) //}); audiomeConsoleLog("clearTitle " + audioMeTitle) return audioMeTitle } function audioMeFillProgressBar(){ audiomeConsoleLog('audioMeFillProgressBar') var i; var min=15; var max=30; for (i = 1; i < 71 ; i++) { var random =Math.floor(Math.random() * (+max - +min)) + +min; jQuery('
', { id: 'audiomeProgressBarItem-' + i, "class": 'audiomeProgressBarItem', style: 'height:'+ random + 'px;' }).appendTo('#audiomeProgressBar'); //jQuery( "#audiomeProgressBar" ).append(div); } } function audioMeCalcETA() { console.log("--> audioMeCalcETA INIT <--"); var audiomePlayed = 0 var audiomeETA = 0 for (i = 0 ; i < audiomePlayCount ; i ++ ) { audiomePlayed = audiomePlayed + audiomeMp3List[i].TotalSeconds; console.log ("Duration loop -> " + audiomeMp3List[i].TotalSeconds) } audiomeETA = audiomeTotalTime - audiomePlayed - audiomeAudioSeek console.log("audiomePlayed -> " + audiomePlayed); console.log("audiomeAudioSeek -> " + audiomeAudioSeek); console.log("audiomePlayCount -> " + audiomePlayCount); console.log("audiomeETA -> " + audiomeETA); return audiomeETA; } function audioMeProgressBarAnimate() { console.log("--> audioMeProgressBarAnimate INIT <--"); jQuery("#readmeerror").append("element divReadMe.class = "audiomeref"; // Create a
element divReadMe.innerHTML = "readme.ai"; jQuery("#audiome-ref").html(divReadMe); //document.getElementById("audiomelink").addEventListener("click", audiomelinkClick); if (audiomeSponsoredSpotFlag == "ON") { playSponsoredSpotTTS(); } else { playAudioTTS(audiomeMp3List[audiomePlayCount]); } }, 500); }); readmeTTSAudioSponsored.addEventListener('playing', function(){ console.log("Sponsored audio playing"); FireAnalyticsClienteReadme("PlayAudioPatrocinado"); FireAnalytics("PlayAudioPatrocinado"); jQuery("#audiome-ref").html("seu áudio iniciará após a publicidade"); }); readmeTTSSpotSponsored.addEventListener('ended', function(){ console.log("Sponsored audio end"); setTimeout(function(){ var divReadMe = document.createElement("div"); divReadMe.id = "audiomelink"; // Create a
element divReadMe.class = "audiomeref"; // Create a
element divReadMe.innerHTML = "readme.ai"; jQuery("#audiome-ref").html(divReadMe); //document.getElementById("audiomelink").addEventListener("click", audiomelinkClick); playAudioTTS(audiomeMp3List[audiomePlayCount]); }, 500); }); readmeTTSSpotSponsored.addEventListener('playing', function(){ console.log("Sponsored audio playing"); FireAnalyticsClienteReadme("PlaySpotPatrocinado"); FireAnalytics("PlaySpotPatrocinado"); jQuery("#audiome-ref").html("seu áudio iniciará após a publicidade"); }); // verifica o parametro de testes var readmebuild = getP('readmebuild') if (readmebuild === undefined) {readmebuild = "OFF";} if (readmebuild == "ON") { // readmebuild converte faz o build do tts de forma antecipada setTimeout(function(){ audioMeLoadTTS(); }, 3000); } //FireAnalytics("PageView"); //FireAnalyticsSemParar("PageView"); jQuery.getJSON(jsonp_url, function(result) { // console.log('SM window width -> ' + jQuery(window).width()); // var SM_window = jQuery(window).width(); if (result.site.Main == "ON") { var localurl = window.location.pathname //jQuery('#audiome-container').html(result.html); jQuery('#audiome-container').html(result.html + " " + result.site.AdTag); audiomeVoiceName = result.site.Voice; console.log("audiomeVoiceName -> " + audiomeVoiceName) //jQuery( ".portalt5_lista_lateral__body" ).after( "