2015-10-11 7 views
-1

В первом HTML файл, я использую переменную categoryLinks:Javascript относительный путь

var categoryLinks = { 
    'Career prospects':'http://localhost/Landa/DirectManagers/511-HelenaChechik/Dim01.html', 
    'Compensation':'http://localhost/Landa/DirectManagers/511-HelenaChechik/Dim02.html',.... 

Во втором HTML файл, я создаю таблицу, потянув некоторые JSon:

$(function() { 
    var chart1; 
    $.get('graphdata/Dim1.txt?x='+microtime(), function(json){ 
    obj = eval('({'+json+'})'); 

В этом Json есть строка, которая ссылается на categoryLinks, чтобы указать соответствующую ссылку:

labels: { 
formatter: function() { 
return '<a href="' + categoryLinks[this.value] + '">' + 
this.value + '</a>'; 
}, 
style: {color: 'blue',textDecoration: 'underline',fontSize:'13px'} 
} 

},

Все работает хорошо

Я пытаюсь определить связи в categoryLinks как относительный путь и не является абсолютным. Я безуспешно пытался

var categoryLinks = { 
    'Career prospects':'Landa/DirectManagers/511-HelenaChechik/Dim01.html', 
+1

'Eval ('({' + + JSON '})') ; '... действительно? Я понимаю, почему вам нужно делать eval, поскольку у вас есть 'функции' в данных, которые вы получаете с $ .get, но называете эти данные' json' запрашивает (будущий) getcha's –

+1

Это не JSON, а простой JavaScript. – Gumbo

ответ

1

Это зависит от URL страницы вы загружаете их в, которые вы не показали, но вы можете ведущий /:

var categoryLinks = { 
    'Career prospects':'/Landa/DirectManagers/511-HelenaChechik/Dim01.html' 
// Here ----------------^ 

. ..или возможно ведущий ../:

var categoryLinks = { 
    'Career prospects':'../Landa/DirectManagers/511-HelenaChechik/Dim01.html' 
// Here ----------------^^^ 

..или аналогичный.

В основном:

Скажет, у вас есть

 
http://example.com/foo/page.html 

и у вас есть относительная ссылка на него:

 
testing/stuff.html 

Это заменит page.html, давая вам:

 
http://example.com/foo/testing/stuff.html 

Если вы не хотите быть в foo, вы бы использовать либо ведущий /, что означает «Начало в корне домена»:

 
/testing/stuff.html 

...или .., что означает "идти на уровень вверх":

 
../testing/stuff.html 

.. может быть использован более чем один раз, так что если у вас есть страница:

 
http://example.com/this/is/deeply/nested.html 

относительной ссылка

 
../../test.html 

дает вам

 
http://example.com/this/test.html 

Также обратите внимание, что ссылки будут относительно страницы HTML они находятся, не файл сценария JavaScript они находятся.

+0

'Также обратите внимание, что ссылки будут относиться к HTML-странице, в которой они находятся, а не к файлу сценария JavaScript, в котором они находятся.' - Я думаю, что это источник путаницы в вопросе –

+0

Обе страницы находятся на одном уровне – user3387046

+0

Я пробовал var categoryLinks = { 'Перспективы карьеры': 'Landa/DirectManagers/511-HelenaChechik/Dim01.html' ... проблема в том, что без части htttp: // я не получаю формат гиперссылок – user3387046

Смежные вопросы