Ich habe eine Anwendung, die Strings analysiert und über jQuery an ein Popup-Fenster übergibt. Einige der Zeichenfolgen, die ich übergebe, enthalten ein Feld für Webadressen ODER interne C: Laufwerkpositionen. Wenn ich die Zeichenfolge an das Fenster übergebe, wird der umgekehrte Schrägstrich ("\") aus dem Windows-Pfad entfernt (die Webadressen, die den Vorwärtsschub verwenden, sind natürlich kein Problem. Ich versuche, diese Zeichenfolgen als Links zu übergeben, also Der Benutzer kann einfach auf den Link klicken und los geht's. Offensichtlich, wenn die Backslashes entfernt sind, funktioniert der Link nicht. Wie zum Teufel teste ich das? Ich habe ein paar einfache Regexes ausprobiert, die nicht funktionieren.Probleme Original-Backslashes beim Übergeben von URL
EDIT: Die Zeichenfolgen, die ich analysiere kommen aus einer Sharepoint Liste von Anwendungen, und ich habe keine Kontrolle über ihr Format, sie sind einfach in die Liste als "\ Laufwerk \ then \ the \ Pfad \ zu \ the \ datei ". Mein Verständnis ist, dass ich überprüfen muss, ob es einen Backslash gibt, dann entkomme es durch einen weiteren Backslash. Aber wie?
EDIT 2: Gut zu wissen, dass ich auf dem richtigen Weg war. Nach dem, was ich im Internet gelesen hatte, hatte ich gedacht, dass es etwas in dieser Richtung war. Allerdings kann ich das immer noch nicht zur Arbeit bringen. Vielleicht Leute könnten Sie mir helfen ....
Ich packte haben das Feld von der Sharepoint-Liste wie folgt aus (Sharepoint speichert Feldnamen mit dem Präfix ‚ows_‘:
var devPath = "<a class='h_link' href='"+$(this).attr('ows_DEVPathURLServer')+"'>"+$(this).attr('ows_DEVPathURLServer')+"</a>";
Dies funktioniert gut für .. Web-URLs, wie gesagt
Also dann verwirrte ich um mit einem .replace tun (/ \/g, ‚\\‘) ;, aber es wird nicht ausgeführt Also dachte ich, ich würde versuchen:
var unregged = $(this).attr('ows_DEVPathURLServer');
var regged = unregged.toString().split('\\').join('\\\\');
alert(regged);
var devPath = "<a class='h_link' href='"+regged+"'>"+regged+"</a>";
Nur um meine t zu brechen Hought-Prozess. Funktioniert nicht. Was vermisse ich?
Danke!
Sie könnten die Pfade codieren (window.encodeURIComponent), bevor Sie sie übergeben. – reedlauber
Als eine ziemlich große newb (lese 'Student'), ich bin nicht vertraut mit diesem. Wie würde ich darüber gehen? – mrwienerdog
Überlegen Sie, Titel der Frage zu ändern (und vielleicht auch Tags), um darzustellen, um welche Frage es sich handelt. Sieh nicht wirklich, wie es mit "Regex-Problemen" zusammenhängt –