$('head').append(filePath) => Message d'erreur : Not allowed to load local resource
Bonjour à tous,
Je veux charger des fichiers JS et CSS dynamiquement mais j'ai l'erreur suivante:
- Not allowed to load local resource: file:///D:/xampp/htdocs/responsive/fancyBox_fullpack/source/helpers/jquery.fancybox-buttons.css
Sur le $(document).ready(function() j'appelle la fonction de chargement:
Code:
1 2 3 4
| $(document).ready(function()
{ var optFolder = "/responsive/fancyBox_fullpack/source";
loadFile(optFolder);
}); //Ready |
La fonction loadFile est la suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
function loadFile(pathFolder )
{ var jqXHR = ajaxOutput(pathFolder);
jqXHR.success(function (jqXHRData)
{ var filePath ="";
for (i = 0; i < jqXHRData.length; i++)
{ if (jqXHRData[i]["fic"].substr(-3) ==="css")
{ filePath = "<link rel='stylesheet' href=' " + jqXHRData[i]["fic"] + "' media='screen' />";
$('head').append(filePath);
}
else if (jqXHRData[i]["fic"].substr(-2) ==="js")
{ filePath = "<link rel='stylesheet' href='" + jqXHRData[i]["fic"] + "' media='screen' />";
$('head').append(filePath);
}
}
});
jqXHR.error( function (jqXHR, ajaxOptions, thrownError)
{ var errMsg = formatErrorMessage(jqXHR, thrownError);
alert(errMsg);
});
}
function ajaxOutput(pathFolder)
{ var pathFolderJSon= {};
pathFolderJSon.pathFolder = pathFolder;
var jqXHResponse = $.ajax
({ type: "POST",
url: "php/filesFolderList.php",
data: pathFolderJSon,
dataType: "json" //Le format JSon texte est toujours initialisé
});
return jqXHResponse;
}
function formatErrorMessage(jqXHR, exception) {...} |
J'ajoute le code du PHP pour l'appel à la fonction de recherche récursive des fichiers dans un répertoire avec la méthode RecursiveIteratorIterator
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php
$pathFolder = urldecode($_POST['pathFolder']);
$pathFolderRoot = $_SERVER['DOCUMENT_ROOT'].$pathFolder;
$pathFolderRoot = json_decode(str_replace("/", "\\", json_encode($pathFolderRoot)));
$sdirr2 = getcwd();
$dir = dir($pathFolderRoot);
while($itemDir = $dir->read() )
{ $d[] = $itemDir;
}
$objectsFolder = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathFolderRoot), RecursiveIteratorIterator::SELF_FIRST);
foreach ($objectsFolder as $file)
{ if (!$file->isDir()){$filesList[] = array ("fic"=>$file->getPathname());}
}
$returnData = json_encode($filesList);
echo $returnData;
?> |
Tout irait dans le meilleur des monde si le code
Code:
1 2
| filePath = "<link rel='stylesheet' href='" + jqXHRData[i]["fic"] + "' media='screen' />";
$('head').append(filePath); |
Ne générait pas le message ci-dessous aussi bien pour les JS que pour les CSS :
Citation:
Not allowed to load local resource: file:///D:/xampp/htdocs/responsive/fancyBox_fullpack/source/helpers/jquery.fancybox-buttons.js (01:09:47:485 | error, security)
at (anonymous function) (js/jquery-1.11.3.min.js:4:20731)
at m.fn.extend.domManip (js/jquery-1.11.3.min.js:4:22916)
at m.fn.extend.append (js/jquery-1.11.3.min.js:4:20620)
at (anonymous function) (:1:11)
at evaluate (:505:28)
at InjectedScript._evaluateOn (:875:55)
at InjectedScript._evaluateAndWrap (:808:34)
at InjectedScript.evaluateOnCallFrame (:933:21)
at (anonymous function) (js/own/filesManager.js:48:5)
at j (js/jquery-1.11.3.min.js:2:27309)
at k.fireWith (js/jquery-1.11.3.min.js:2:28122)
at x (js/jquery-1.11.3.min.js:5:22111)
at b (js/jquery-1.11.3.min.js:5:26030)
De plus, si différence il y a entre
Citation:
$('head').append(filePath);
et cela reste très nébuleux. Une petite explication serait la bienvenue
Merci par avance pour toute aide.