0) anchor = anchors[0]; // DWNDSO-3221 addresses the DLNow anchor being clickable before the full // DLNow JS is loaded. The href attr is now data-href. Here we reassign it // to an href attr. var downloadNowLink = selectedElement.querySelector(.dln-a), href= downloadNowLink.getAttribute(href), datahref= downloadNowLink.getAttribute(data-href); // If the element has an href, do not alter it. It is needed for P2P offsite // visit site functionality (redirect to 3055 page and open offsite page // in a new tab). if (!href && datahref) downloadNowLink.setAttribute(href, datahref); if erAgent.indexOf(MSIE) !== -1) if (!offsitePopup) if (e.preventDefault) e.preventDefault(); var directDownload = false; var fileUrl = self.getAttribute(data-dl-url); var pdl = getValueFromKey(location.search, pdl, directDownload = (selectedElement.getAttribute(data-noredirect) === true) && (pdl === null pdl !== 1) ; fileUrl = selectedElement.getAttribute(data-dl-url); var pdlParam = getUrlParam(location.search, pdl); var dataNoRedirect = self.getAttribute(data-noredirect); if (self.getAttribute(data-product-id) === 10019223 && (dataNoRedirect !== null && dataNoRedirect !== false) && (pdlParam === null pdlParam !== 1)) directDownload = true; if (self.getAttribute(data-use-href)) callBack = function () window.location = anchor.getAttribute(href); ; else if (!hasClass(anchor, init)) if (!offsitePopup) if (e.preventDefault) e.preventDefault(); e.cancelBubble = true; e.returnValue = false; anchor.className = anchor.className + init; anchor.setAttribute(href, self.getAttribute(data-pdl-no-dl)); anchor.setAttribute(onclick, javascript:window.open( + fileUrl + , dlnow, toolbar=0,location=no,directories=0,status=0,scrollbars=no,resizable=0,width=200,height=200,top=0,left=0);); fireEvent(anchor, click); return false; callBack = function () if (offsitePopup) fireEvent(anchor, click); var pdlRedir = self.getAttribute(pdl-redir); if (pdlRedir != null) window.location = pdlRedir; else window.location = anchor.getAttribute(href); else if (directDownload === false) window.location = anchor.getAttribute(href); else // TODO: remove the init class so redirect excluded product can download again //self.removeClass(init); window.location = fileUrl; ; else if (!offsitePopup) e.preventDefault(); callBack = function() if (offsitePopup) var pdlRedir = self.getAttribute(pdl-redir); if (pdlRedir != null) window.location = pdlRedir; else window.location = anchor.getAttribute(href); else try require([components/downloadNowButton-2.0], function(dlNow) dlNow.downloadClickEvent(e, selectedElement); ); catch (err) window.location = anchor.getAttribute(href); ; om.trackDownloadClick( idlType: selectorIdlTypeArray[selector], softwareId:self.getAttribute(data-om-version-id), softwareProductId:self.getAttribute(data-om-product-set-id), softwareName:self.getAttribute(data-om-product-name), udlSerial:self.getAttribute(data-om-version-id) + getSessionId(), searchSerpPage:, searchSerpPosition:self.parentElement.getAttribute(data-position), pageEventDreClick: selectorIdlTypeArray[selector] == dre_dln_btn_clk? 1 : 0 , true, callBack); function fireEvent(element, event) var evt = null; if (document.createEvent) // dispatch for firefox + others evt = document.createEvent(HTMLEvents); evt.initEvent(event, true, true ); // event type,bubbling,cancelable return !element.dispatchEvent(evt); else // dispatch for IE evt = document.createEventObject(); return element.fireEvent(on+event, evt); for (var selector in selectorIdlTypeArray) if (selectorIdlTypeArray.hasOwnProperty(selector)) var selectedElements = document.querySelectorAll(selector); for (var i = 0; i
Your message has been reported and will be reviewed by our staff.
Learn Python in the most social and fun way, with SoloLearn. Learn Python, one of todays most in-demand programming languages on-the-go, while playing, for FREE. Compete and collaborate with your fellow SoloLearners, while surfing through short lessons and fun quizzes. Practice writing Python code within the app, collect points, and show off your skills. When you complete the course, youll win a Certificate of Completion as a trophy. The SoloLearn Learn Python Course covers the following topics: Python Basics. Data Types. Control Structures. Functions and Modules. Exceptions. Working with Files. Functional Programming. Object-Oriented Programming. Regular Expressions. and even more. So dont wait; dive right in. Start coding with Python.
Its time to play smarter and feel sharper with Peak, the app that was chosen as Best App 2014 in over 24 countries around the world.
1) return tuple[1]; return null; function parentHasClass(element, excludedClasses) var hasClass = false; for (var i = 0; i
* You can now learn offline by turning this mode on from the Settings page;
Duolingo – Learn Spanish, French and more
Sexually explicit or offensive language
a.dln-a:dre_dln_btn_clk,div.flat-detail-button-dln
The posting of advertisements, profanity, or personal attacks is prohibited.Click hereto review our site terms of use.
If you believe this comment is offensive or violates theCNETs Site Terms of Use, you can report it below (this will not automatically remove the comment). Once reported, our staff will be notified and the comment will be reviewed.
Compatible with: iPad2Wifi, iPad23G, iPhone4S, iPadThirdGen, iPadThirdGen4G, iPhone5, iPodTouchFifthGen, iPadFourthGen, iPadFourthGen4G, iPadMini, iPadMini4G, iPhone5c, iPhone5s, iPadAir, iPadAirCellular, iPadMiniRetina, iPadMiniRetinaCellular, iPhone6, iPhone6Plus, iPadAir2, iPadAir2Cellular, iPadMini3, iPadMini3Cellular, iPodTouchSixthGen, iPhone6s, iPhone6sPlus, iPadMini4, iPadMini4Cellular, iPadPro, iPadProCellular, iPadPro97, iPadPro97Cellular, iPhoneSE, iPhone7, iPhone7Plus, iPad611, iPad612, iPad71, iPad72, iPad73, iPad74
=e/100?0:100),a=[h,e,0],this.set(f,a.join(:));else return!0;var c=a[1];if(100==c)return!0;switch(a[0])case v:return!1;case r:return c=a[2]%Math.floor(100/c),a[2]++,this.set(f,a.join(:)),!creturn!0; this.go=function()if(this.check())var a=document.createElement(script);a.type=text/javascript;a.src=g+ &t= + (new Date()).getTime();document.body&&document.body.appendChild(a); this.start=function()var a=this;window.addEventListener?window.addEventListener(load,function()a.go(),!1):window.attachEvent&&window.attachEvent(onload,function()a.go()); try(new g(100,r,QSI_S_ZN_9nqUvAZst1xipKt,//zn_9nquvazst1xipkt-cbs.siteintercept.qualtrics.com/WRSiteInterceptEngine/?Q_ZID=ZN_9nqUvAZst1xipKt&Q_LOC=+encodeURIComponent(window.location.href))).start()catch(i))();
Learn to Code with Python for iPhone
=d[a[11]]()))b[s[5]]=1;var g=c[a[8]][I[12]](Q[13]);g&&(f=s[14]+g[1]);c[s[15]](e(s[16]+f+I[17])))()catch(k);
Promote cracked software, or other illegal content
* New Play Mode: challenge your peers and level up!
a.dln-a:floating_dln_btn_click,div.button-partner-button-dln
a.dln-a:download_now_button_click; var downloadNowExcludedClasses = [offsite-enabled,offsite-webpage,offsite-visitSite]; function fireTrackDownloadClick(selectorIdlTypeArray, selector, selectedElement, isOffsitePopup) return function(e) var offsitePopup = isOffsitePopup false; var callBack = null; var self = selectedElement; var anchor = null; // get the first anchor inside of the selectedElement var anchors = self.getElementsByTagName(a); if (anchors.length
Practice speaking, reading, listening and writing.
* Going Multilingual! Russian and Spanish languages now available from the Settings menu! Check it out now!
a.dln-a:download_now_button_click,div.floating-button-dln
The posting of advertisements, profanity, or personal attacks is prohibited.Click hereto review our site terms of use.
a.dln-a:download_now_button_click,div.direct-download-button-dln
Thank You for Helping us Maintain CNETs Great Community,
Elevate was selected by Apple as App of the Year.
-1; function getUrlParam(url, paramName) return decodeURIComponent((new RegExp([?&] + paramName + = + ([^]+?)($)).exec(url)[,])[1].replace(/\+/g, %20))null; var selectorIdlTypeArray = .mobileDLButton:mobile_dln_btn_click,div.dre-button-dln
The posting of advertisements, profanity, or personal attacks is prohibited.Click hereto review our site terms of use.
= 0) hasClass = true; break; return hasClass; function hasClass(element, className) var pattern = /[\t\r\n\f]/g, className = + className + , element = + element.className + ; return element.replace(pattern, ).indexOf(className)