Ответ 1
Попробуйте использовать @
вместо фактического @
<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>
Я знаю, что это, вероятно, будет что-то очень простое, и это похоже на "gotcha", который мне еще предстоит получить; однако я боролся с тем, чтобы избежать символа @
в следующем URL-адресе.
<a href="#" onclick="location.href='https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3'; return false;">View on Google Maps</a>
Я уже пробовал ускользнуть от него со вторым @
i.e.
<a href="#" onclick="location.href='https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@@55.000000,-1.000000,17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3'; return false;">View on Google Maps</a>
Тем не менее это создает следующий YSOD
Что мне не хватает?
Попробуйте использовать @
вместо фактического @
<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>
Интересно, почему никто не предлагает использовать символ с кодировкой url %40
для @
?
<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>
Для меня это работает.
Еще один способ:
<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>
или
<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>
Я нашел другое (возможно, в лучшем случае) способ избежать @
-символов в шаблонах бритвы.
В моей учетной записи у меня есть частичное с активами, которые должны быть заменены на usemin grunt-task. При ссылке на пакет npm, в строке пути есть @
.
@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>
)
Таким образом, в каждом случае существует правильная строка (клиент время компиляции и сервер)
Для вашего случая это будет означать следующее:
@using Foo.Bar.Helpers
@{
var location = "@55.000000,-1.000000";
}
<a href="#" onclick="location.href='https://www.google.co.uk/maps/place/XXXXXXXXXXXXXXXX/@(location),17z/data=!3m1!4b1!4m2!3m1!1s0x487e736c74d13649:0xe560f3b38693aec3'; return false;">View on Google Maps</a>