User script for making Aliexpress reviews easier to browse
// ==UserScript==// @name AliBetterReviews// @namespace kneels// @include https://feedback.aliexpress.com/*// @version 1.1// @grant none// @description User script for making Aliexpress reviews easier to browse// ==/UserScript==var ownerMemberId = -1,productId = -1;var withPics = false,withInfo = false,withMoreInfo = false,myCountry = false;var sortval = "sortdefault@feedback",starFilter = "all+Stars",translate = "+Y+";var currentPage = 1;var imagesExpanded = false;function appendNextPage() {var http = new XMLHttpRequest();var url = "https://feedback.aliexpress.com/display/productEvaluation.htm";var params = "productId=" + productId + "&ownerMemberId=" + ownerMemberId + "&page=" + ++currentPage+ "&withPersonalInfo=" + withInfo + "&withPictures=" + withPics+ "&withAdditionalFeedback=" + withMoreInfo + "&onlyFromMyCountry=" + myCountry+ "&evaSortValue=" + sortVal + "&evaStarFilterValue=" + starFilter + "&translate=" + translate;http.open("POST", url, true);http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");http.onreadystatechange = function() {if (http.readyState == 4 && http.status == 200) {var tempDiv = document.createElement('div');tempDiv.innerHTML = http.responseText;var newFeedbackList = tempDiv.getElementsByClassName('feedback-list-wrap')[0];if (newFeedbackList.getElementsByClassName('no-feedback').length > 0) {console.log('no more pages to load');return;}var parent = document.getElementById('transction-feedback');var beforeThisNode = document.getElementById('complex-pager');if (imagesExpanded) {expandAllImages(newFeedbackList);}parent.insertBefore(newFeedbackList, beforeThisNode);}}http.send(params);console.log(http);}function expandAllImages(doc) {var photoLists = doc.querySelectorAll('.r-photo-list');for (var i = 0; i < photoLists.length; ++i) {var picItems = photoLists[i].querySelectorAll('.pic-view-item');var html = "";for (var k = 0; k < picItems.length; ++k) {var imgUrl = picItems[k].getElementsByTagName('img')[0].src;html += '<img src="' + imgUrl + '">';}photoLists[i].innerHTML = html;}}function inIframe() {try {return window.self !== window.top;} catch (e) {return true;}}window.onload = function() {ownerMemberId = document.getElementById('ownerMemberId').value;productId = document.getElementById('productId').value;withPics = document.getElementById('withPictures').value;withInfo = document.getElementById('withPersonalInfo').value;withMoreInfo = document.getElementById('withAdditionalFeedback').value;myCountry = document.getElementById('onlyFromMyCountry').value;sortVal = document.getElementById('evaSortValue').value;starFilter = document.getElementById('evaStarFilterValue').value;translate = document.getElementById('translate').value;var waitTimer = setInterval(function() {var feedback = document.getElementById('transction-feedback');if (feedback !== null) {// Feedback is done loadingclearInterval(waitTimer);var filterList = document.getElementsByClassName('f-filter-list')[0];if (inIframe()) {var fsButt = document.createElement('button');fsButt.innerHTML = "Fullscreen";filterList.appendChild(fsButt);fsButt.onclick = function() {var url = "https://feedback.aliexpress.com/display/productEvaluation.htm?productId="+ productId + "&ownerMemberId=" + ownerMemberId + "&page=1"+ "&withPersonalInfo=" + withInfo + "&withPictures=" + withPics+ "&withAdditionalFeedback=" + withMoreInfo + "&onlyFromMyCountry=" + myCountry+ "&evaSortValue=" + sortVal + "&evaStarFilterValue=" + starFilter + "&translate=" + translate;window.open(url, '_blank');};} else {var expandButt = document.createElement('button');expandButt.innerHTML = "Expand All Images";filterList.appendChild(expandButt);expandButt.onclick = function() {if (!imagesExpanded) {expandAllImages(document);imagesExpanded = true;expandButt.disabled = true;}};// endless scrollingwindow.onscroll = function(ev) {if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {appendNextPage();}};}}}, 500);};