* ОБНОВЛЕНО *
Я пытаюсь установить базовый тег динамически создаваемого iframe.Все работает, если я устанавливаю базовый тег в корневой каталог (http://example.com/) и включаю ссылки в файле src, включающие путь от базы. Однако, если я устанавливаю базу для включения пути к папке (http://example.com/Test/) работают только ссылки.Я пытался заставить это работать правильно в течение нескольких дней.
ПРИМЕЧАНИЕ. Корневой URL-адрес одинаков для файла src и всех ссылок, поэтому это не проблема междоменного доступа.
index.html
<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
// First frame ** WORKS **
$('<iframe id="iFrame1" src="Test/test1.html"/>').load(function(){
var baseTag= document.createElement('base');
baseTag.href = "http://aquawicket.com/";
$('#iFrame1').contents().find('head').append(baseTag);
}).appendTo('body');
// Second frame ** WORKS **
$('<iframe id="iFrame2" src="Test/Files/test2.html"/>').load(function(){
var baseTag= document.createElement('base');
baseTag.href = "http://aquawicket.com/Debug/Test/Files/";
$('#iFrame2').contents().find('head').append(baseTag);
}).appendTo('body');
// Third frame ** DOES NOT WORK ** need this to work
$('<iframe id="iFrame3" src="Test/test3.html"/>').load(function(){
var baseTag= document.createElement('base');
baseTag.href = "http://aquawicket.com/Debug/Test/Files/";
$('#iFrame3').contents().find('head').append(baseTag);
}).appendTo('body');
});
</script>
test1.html РАБОТАЕТ
<script type="text/javascript" src="/Debug/Test/Files/javascript.js"></script>
iFrame1<br>
<a href="/Debug/Test/Files/hello.html">LINK</a><br>
<img src="/Debug/Test/Files/image.png" />
<input type="button" value="Test" onClick="TestJava()"/>
test2.html WORKS
<script type="text/javascript" src="javascript.js"></script>
iFrame2<br>
<a href="hello.html">LINK</a><br>
<img src="image.png" />
<input type="button" value="Test" onClick="TestJava()"/>
test3.html НЕ РАБОТАЕТ нужен этот для работы
<script type="text/javascript" src="javascript.js"></script>
iFrame3<br>
<a href="hello.html">LINK</a><br>
<img src="image.png" />
<input type="button" value="Test" onClick="TestJava()"/>
В iFrame1,мы устанавливаем основание для корня домена (http://root.com/) и все ссылки в файле test.html включают путь (/Path/Path/Path/file.xxx). Работает хорошо.
В iFrame2 мы устанавливаем для базы полный путь к файлам ссылок (http://root.com/Path/Path/Path), и ссылки не должны включать путь, если файл test.html находится в той же папке, что и файлы ссылок (file.xxx). Thтакже хорошо работает.
В iFrame3 мы устанавливаем для базы полный путь к файлам ссылок (http://root.com/Path/Path/Path), и ссылки НЕ будут работать, если файл test.html НЕ находится в той же папке, что ифайлы ссылок (file.xxx).Это не работает для изображений и .js включает.Это работает только для ссылок.
Я загрузил живую версию для этой проблемы здесь http://aquawicket.com/Debug