Pytanie Jak uniknąć symbolu "@" w adresie URL z brzytwą


Wiem, że to prawdopodobnie będzie coś bardzo prostego, a to jest jak "gotcha", której jeszcze nie dostałem; jednak zmagałem się z ucieczką @ symbol pod następującym adresem URL.

<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>

Próbowałem już raz uciec z tego @ to znaczy

<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@@55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>

Mimo to powstaje następujący YSOD

Parser Error Message: "55.00000" is not valid at the start of a code block.  Only identifiers, keywords, comments, "(" and "{" are valid. czego mi brakuje?


14
2018-05-28 08:09


pochodzenie


możliwy duplikat Escape @ w silniku z przeglądarką - DavidG


Odpowiedzi:


Spróbuj użyć &#64; zamiast faktycznego @

<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/&#64;55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>

16
2018-05-28 08:17



pracował dla mnie świetnie! - Sr.PEDRO


Zastanawiam się, dlaczego nikt nie sugeruje używania zakodowanych znaków url %40 dla @?

<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/%4055.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>

Dla mnie to działa.

http://meyerweb.com/eric/tools/dencoder/


5
2017-08-24 09:01





Po prostu inny sposób:

<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@("@55.000000,-1.000000"),17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>

lub

<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@("@")55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>

2
2018-01-20 11:25





Znalazłem inny (może w pewnym sensie lepszy) sposób na ucieczkę @-symboly w szablonach maszynki do golenia.

W moim przypadku używam częściowego z zasobami, które powinny zostać zastąpione przez usemin cholerne zadanie. Kiedy odwołujesz się do pakietu npm o określonym zasięgu, istnieje @ wewnątrz ciągu ścieżki.

@using Foo.Bar.Helpers

@{ 
    var somescope = "@somescope";
}

@Html.RegisterAssetBlock(
    content: @<text>
        <!-- build:js /assets/js/bundle.js -->
        <script src="/node_modules/@somescope/somepackage/dist/main.js" type="text/javascript"></script>
        <!--endbuild-->
    </text>
)

Tak więc w każdym przypadku istnieje poprawny ciąg znaków (klient czas kompilacji i serwer czas kompilacji).

W twoim przypadku oznaczałoby to:

@using Foo.Bar.Helpers

@{
    var location = "@55.000000,-1.000000";
}

<a href="https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@(location),17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3">View on Google Maps</a>

0
2018-01-20 10:55