In diesem Artikel werden einige der praktischeren JS-Methoden vorgestellt, die ich in meinem täglichen Leben gesammelt habe, um Sie zu beraten und zu bewerten. Ich wollte es in Teilen vorstellen, fand es aber etwas überflüssig. Nachdem ich es geklärt habe, gibt es nicht viele praktische Methoden. Natürlich gibt es einige Methoden, die ich im Internet gesehen habe und die ich hier veröffentlichen werde, damit jeder sie besprechen kann.
1. Klicken Sie auf Zurück, um zur angegebenen Seite zu springen, wenn es keine vorherige Seite gibt
Zunächst einmal gibt es eine Anforderung in der Kundennachfrage – eine einzelne Seite, die auf WeChat geteilt wird, klicken Sie auf „Zurück“, um zur Startseite der Website zu springen.
Während dieser Zeit haben wir diese Funktion mit unseren Kunden besprochen, ob wir eine Schaltfläche „Zurück zur Startseite“ hinzufügen können, um zur Seite zu springen.
Diese Methode kann jedoch nicht auf jede Seite angewendet werden, und die Freigabeseite, die diese Funktion erfordert, kann kein Symbol platzieren, ohne die Ästhetik zu beeinträchtigen. Also hatte ich keine andere Wahl, als Du Niang zu verfolgen. Du Niang ist auch voller Randfunktionen.
Durch meine eigenen Versuche habe ich also den folgenden Code:
//返回之前没页面则返回首页 function pushHistory() { //获取浏览器历史记录栈中的记录个数 //由于页面加载的时候就会将当前页面压入栈中 所以判断是否小于2 if (history.length < 2) { var state = { title: "index", url: getHttpPrefix + "index.html" }; window.history.pushState(state, "index", getHttpPrefix + "index.html"); state = { title: "index", url: "" }; window.history.pushState(state, "index", ""); } }
Fügen Sie dann den folgenden Code zum Page-Ready-Ereignis hinzu:
setTimeout(function () { pushHistory() window.addEventListener("popstate", function (e) { 5 if (window.history.state !=null&&window.history.state.url != "") { location.href = window.history.state.url } }); }, 300);
Die spezifische Funktion besteht darin, festzustellen, ob zuvor eine Seite vorhanden ist. Wenn nicht, fügen Sie die Linkadresse der angegebenen Website in den Status ein (hier wird die Homepage verwendet), hören Sie sich dann das Popstate-Ereignis an und führen Sie die entsprechende Funktion aus Operationen.
Dieser Code weist möglicherweise noch einige kleinere Probleme auf, daher habe ich vor, ihn zu veröffentlichen, damit jemand ihn gemeinsam besprechen und verbessern kann.
2. Praktische Protokollierungsmethode
Ich glaube, dass jeder die etwas längere Eingabedauer von console.log() beim Debuggen der Seite schon satt hat. Einige Leute verwenden möglicherweise die Tastenkombination für die schnelle Eingabe (z. B. geben Sie cl ein, um die Konsole in der Kompilierungsumgebung intelligent aufzurufen). Wenn das Projekt jedoch veröffentlicht wird, wird es immer noch schwierig sein, viele Debugging-Informationen zu löschen, die ich vergessen habe zu löschen. Deshalb habe ich einfach eine Methode geschrieben, um speziell mit dieser Situation umzugehen.
function lll() { //全局变量_debug用来控制调试信息开关 if (_debug) { var arr = []; //arguments是方法的参数集合 这样做是为了不限制参数的个数,方便调试 for (_item in arguments) { //由于个人习惯字符串信息就显示在一行里所以对字符串进行了筛选拼接 if (typeof _item == "String") { arr.push(_item) } else { console.log(_item) } } if(arr.length>0)console.log(arr.join(',')) } }
Tatsächlich bin ich ein wenig unzufrieden, weil es keine Möglichkeit gibt, den Namen des Parameters automatisch zu erhalten, sonst kann er wie folgt verwendet werden:
var a = 123, b = 333, obj = { name: "name", content: "..." } lll(a, b, obj)//调试信息为: a:123,b:123 //obj: //{ name: "name", content: "..." }
Scheint es klarer zu sein?
3. Informationen zur Browserpositionierung abrufen (unterstützt Mobilgeräte)
Viele eingegangene Projekte sind individuell angepasst und für mobile Endgeräte entwickelt, sodass häufig Informationen verwendet werden, die zur Lokalisierung des aktuellen Standorts erforderlich sind.
Aber viele Schnittstellen im Internet müssen auf einen externen JS-Teil verweisen, wie z. B. die API von Baidu, die API von WeChat usw.
Als nächstes werde ich eine Methode vorstellen, die keine Referenzierung externer JS erfordert, sondern nur die Übermittlung von Parametern an den externen API-Link erfordert, um die Positionierung zu erhalten:
if (getCookie('position') == "") { if (navigator.userAgent.indexOf("MicroMessenger") > -1) {//判断是否是微信端,具体视情况而定 navigator.geolocation.getCurrentPosition(function getPositionSuccess(position) { //通过html5的navigator.geolocation接口 获取浏览器的当前定位 (移动端最准确,PC会有较大偏差) var lat = position.coords.latitude;//获取过来的当前纬度 var lng = position.coords.longitude;//获取过来的当前经度 var arr = [] arr.push(lng) arr.push(lat) //alert(position) $.ajax({ type: "GET", url: "http://api.map.baidu.com/geocoder/v2/?ak=oM55dVWVwLUU7shkz7uY8M6E&callback=renderReverse&location=" + lat + "," + lng + "&output=json&pois=1",//将经纬度通过地址栏参数的形式 传给百度提供的api beforeSend: function () { //由于这段过程需要些时间 所以最好页面上有加载提示 iosload()//本人写的页面加载动画 }, data: {}, dataType: "jsonp",//由于是跨域传输 所以需要以jsonp的形式进行传输 jsonpCallback: "renderReverse",//类似跨域传输的标识 需要接收方和传输方做好统一 success: function (data) { ios.hide(); //alert(data) $("#myposition").html("我在:" + data.result.addressComponent.city) setCookie("position", data.result.addressComponent.city, 24 * 60 * 30) } }) }, function (error) { //alert(error.message); }, {}) } }
Dieser Code ist ein Teil meines eigentlichen Projekts. Da ich feststellen muss, ob die Positionierungsinformationen abgerufen wurden, kann ich sie nicht bei jedem Laden der Seite abrufen. Daher verwende ich Cookies, um die Positionierungsinformationen zu speichern >
Zu Beginn wurde beurteilt, ob ein aktuelles Positionsinformations-Cookie vorhanden war, aber es gab kein Cookie. Stellen Sie dann fest, ob es sich um die mobile Seite handelt (da sich das Projekt auf der WeChat-Seite befindet, habe ich es also nur auf der WeChat-Seite überprüft)Rufen Sie dann die von HTML5 bereitgestellten Schnittstellenparameter für die Datenübertragung auf und verarbeiten Sie den von Baidu zurückgegebenen JSONP. Da ich in meinem Projekt nur die Informationen zur Standortstadt abrufen muss, ist hier nur ein Beispiel für die Beschaffung der Stadt.
4. Ermitteln Sie den numerischen Teil der Zeichenfolge
Da ich nur für die Implementierung von Funktionen im Projekt verantwortlich bin, werden viele Seiten nicht von mir erstellt, aber einige Anfänger werden Situationen schaffen, in denen es schwierig ist, die Werte in den Tags zu erhalten.Zum Beispiel:
<div>原价998现在只要 <a>99.8!</a> </div>
Diese Situation kann leicht mit der unten aufgeführten Methode gelöst werden
function getNum(text) { var value = text.replace(/[^(0-9).]/ig, ""); return parseFloat(value); }
Die auf diese Weise zurückgegebenen Daten sind die von uns gewünschte Zahl. Ich habe schließlich eine Konvertierungsoperation in den Gleitkommatyp durchgeführt. Dies dient der Erleichterung der Nachbearbeitung der Daten. Beispiel: Beibehaltung von zwei Dezimalstellen, Rundung usw.
5. Geräteinformationen abrufen
//#region 获取设备信息 var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核 mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部 weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增) qq: u.match(/\sQQ/i) == " qq" //是否QQ }; }(), language: (navigator.browserLanguage || navigator.language).toLowerCase() } //实际使用的时候如下: if (browser.versions.webKit) { //为苹果 谷歌内核执行的代码... } //#endregion
Ich persönlich finde es sehr nützlich, deshalb werde ich es mit allen teilen.
String-Erweiterungsmethoden – Im Folgenden finden Sie Methoden zum Anhängen von
String-Typ-Daten
1. Den Teil der Zeichenfolge ausblenden, der die angegebene Länge überschreitet
/* 将字符串以指定长度显示,多余部分以省略号显示(len--显示长度 defaultStr--若字符串为空显示的字符串) */ String.prototype.splitString = function (len, defaultStr) { var result = ""; var str = this.toString() if (str) { str = str.trim() if (str.length > len) { result = str.substring(0, len) + "..."; } else { result = str; } } else { result = defaultStr; } return result; }
2. Verringern Sie die Länge der Zeichenfolge um eins
//长度减一 String.prototype.delLast = function () { return this.substring(0, this.length - 1) }
有些人可能会觉得 这个方法有点脱裤子放屁的嫌疑,其实真正的项目中 会经常需要这个操作。
与其写一段长长的substring 不如咱们写个方法将代码精简,并且在码代码的时候 也很方便 直接在对应的字符串后面 轻轻一点,选择delLast就行。
一句话,用过都说好!
3.将数字型字符串补全指定长度
//给数字型字符串固定指定长度 String.prototype.addZero = function (n) { var num = this var len = num.toString().length; while (len < n) { num = '0' + num; len++; } return num; }
看注释可能有点不理解 其实就是加入这个字符串是 "2",通过这个扩展方法 可以这么操作 "2".addZero(2)
那么返回过来的就是"02"这样的字符串。
用过都说好!
4.将数据库DateTime类型转换为Date
String.prototype.DTD = function () { return new Date(Date.parse(this.toString().replace(/-/g, "/"))) }
5.用户昵称省略
//用户昵称省略 String.prototype.telHide = function () { var name = this return name.substr(0, 1) + "****" + name.substring(name.length - 1, name.length) }
以上就是本文的全部内容,希望对大家的学习有所帮助。

Detaillierte Erläuterung der Methode für JavaScript -Zeichenfolge und FAQ In diesem Artikel werden zwei Möglichkeiten untersucht, wie String -Zeichen in JavaScript ersetzt werden: Interner JavaScript -Code und interne HTML für Webseiten. Ersetzen Sie die Zeichenfolge im JavaScript -Code Die direkteste Möglichkeit ist die Verwendung der Ersatz () -Methode: str = str.replace ("find", "ersetzen"); Diese Methode ersetzt nur die erste Übereinstimmung. Um alle Übereinstimmungen zu ersetzen, verwenden Sie einen regulären Ausdruck und fügen Sie das globale Flag G hinzu:: STR = Str.Replace (/fi

In Artikel werden JavaScript -Bibliotheken erstellt, veröffentlicht und aufrechterhalten und konzentriert sich auf Planung, Entwicklung, Testen, Dokumentation und Werbestrategien.

In dem Artikel werden Strategien zur Optimierung der JavaScript -Leistung in Browsern erörtert, wobei der Schwerpunkt auf die Reduzierung der Ausführungszeit und die Minimierung der Auswirkungen auf die Lastgeschwindigkeit der Seite wird.

Bringen Sie Matrix -Filmeffekte auf Ihre Seite! Dies ist ein cooles JQuery -Plugin, das auf dem berühmten Film "The Matrix" basiert. Das Plugin simuliert die klassischen grünen Charakter-Effekte im Film und wählen Sie einfach ein Bild aus, und das Plugin verwandelt es in ein mit numerischer Zeichen gefüllte Bild im Matrix-Stil. Komm und probiere es aus, es ist sehr interessant! Wie es funktioniert Das Plugin lädt das Bild auf die Leinwand und liest die Pixel- und Farbwerte: Data = ctx.getImagedata (x, y, setting.grainize, setting.grainesize) .data Das Plugin liest geschickt den rechteckigen Bereich des Bildes und berechnet JQuery, um die durchschnittliche Farbe jedes Bereichs zu berechnen. Dann verwenden Sie

In dem Artikel werden effektives JavaScript -Debuggen mithilfe von Browser -Entwickler -Tools, der Schwerpunkt auf dem Festlegen von Haltepunkten, der Konsole und der Analyse der Leistung erörtert.

In diesem Artikel werden Sie mit der JQuery -Bibliothek ein einfaches Bildkarousel erstellen. Wir werden die BXSLIDER -Bibliothek verwenden, die auf JQuery basiert und viele Konfigurationsoptionen zum Einrichten des Karussells bietet. Heutzutage ist Picture Carousel zu einem Muss auf der Website geworden - ein Bild ist besser als tausend Wörter! Nachdem Sie sich entschieden haben, das Bild -Karussell zu verwenden, ist die nächste Frage, wie Sie es erstellen. Zunächst müssen Sie hochwertige, hochauflösende Bilder sammeln. Als nächstes müssen Sie ein Bildkarousel mit HTML und einem JavaScript -Code erstellen. Es gibt viele Bibliotheken im Web, die Ihnen helfen können, Karussell auf unterschiedliche Weise zu erstellen. Wir werden die Open -Source -BXSLIDER -Bibliothek verwenden. Die BXSLIDER -Bibliothek unterstützt reaktionsschnelles Design, sodass das mit dieser Bibliothek gebaute Karussell an alle angepasst werden kann

Wichtige Punkte erweiterte strukturierte Tagging mit JavaScript können die Zugänglichkeit und Wartbarkeit von Webseiteninhalten erheblich verbessern und gleichzeitig die Dateigröße reduzieren. JavaScript kann effektiv verwendet werden, um HTML -Elementen dynamisch Funktionen hinzuzufügen, z. Durch das Integrieren von JavaScript in strukturierte Tags können Sie dynamische Benutzeroberflächen erstellen, z. B. Tabletten, für die keine Seiten -Aktualisierung erforderlich ist. Es ist entscheidend sicherzustellen, dass JavaScript -Verbesserungen die grundlegende Funktionalität von Webseiten nicht behindern. Erweiterte JavaScript -Technologie kann verwendet werden (

Datensätze sind äußerst wichtig für den Aufbau von API -Modellen und verschiedenen Geschäftsprozessen. Aus diesem Grund ist das Import und Exportieren von CSV eine häufig benötigte Funktionalität. In diesem Tutorial lernen Sie, wie Sie eine CSV-Datei in einem Angular herunterladen und importieren.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Dreamweaver Mac
Visuelle Webentwicklungstools