2014-02-04 1 views
-1

Непрограммист здесь, пытаясь понять что-то.Можно ли поместить функцию javascript в файл php?

У меня есть функция javascript в заголовке моего документа, которая при загрузке страницы открывает другую страницу в iframe и показывает файл svg на моем сервере для незначительного редактирования в Интернете. Я хотел бы поместить функцию javascript в файл php, так что эти папки в файлах svg не могут быть определены для тех, кто свободно загружает эти файлы svg.

В настоящее время у меня есть это на моем заголовке HTML:

<script type="text/javascript"> 
      function loaded() 
      { 
      document.getElementById("myiframe").src="http://www.mydomain.com/myfolder/mypage.html?url=myotherfolder/"+window.location.search.substr(1); 
      } 
      onload=loaded; 
     </script> 

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

Я хочу, чтобы удалить этот яваскрипта код из моего заголовка и поместить его в файл PHP и заменить код заголовка с любой из них:

<script src="phpjavafile.php"></script> 

или

<?php include ('phpjavafile.php'; ?> 

и, наконец, положить javascript в файл php, такой как:

<?php 
    <script type="text/javascript"> 
       function loaded() 
       { 
       document.getElementById("myiframe").src="http://www.mydomain.com/myfolder/mypage.html?url=myotherfolder/"+window.location.search.substr(1); 
       } 
       onload=loaded; 
      </script> 
?> 

Я пробовал оба этих метода и ни один из них правильно загрузиться.

Должно быть, я делаю что-то неправильно. Я на правильном пути, или есть лучший способ заставить это работать.

спасибо заранее.

+0

Да, это возможно. Подумайте о сценарии как о не более чем html (потому что это точно ***, что это такое). Как вы выводите html с php? или простой текст? –

+0

ничего, кроме текста, а не html –

+0

html - это не что иное, как текст. –

ответ

1

С помощью функции() эхо

PHP

<?php 
echo '<script> 
some javascript 
</script'; 
?> 

Однако, если вы просто пытаетесь загрузить php на загрузку страницы w без каких-либо php args, просто напишите это из тегов.

Если у вас есть JavaScript является другой файл, а затем с помощью

PHP

<?php 
include 'path/to/javascript/file.php'; 
?> 

Должно работать.

Вы не можете скрыть javascript, поскольку он интерпретируется стороной браузера, а не стороной сервера, поэтому браузеру пользователей необходимо иметь доступ к коду.

Вот код, я думаю, что вы просите:

PHP HTML

<?php 
    $html = file_get_contents("path/to/data.html"); 
?> 
<div> 
    <?php echo $html; ?> 
</div> 

не использует IFRAME, но надо еще работать. Однако любые относительные ссылки не будут работать, если оба файла не находятся в одном каталоге и не будет функционировать iframe без дополнительных css.

+0

Если javascript невозможно скрыть, по сути, путь к файлу моего файла, можно ли переписать мою функцию javacript в чистый скрипт php? – Mahogan

+0

Не совсем. он редактирует скрипт iframe, чтобы он мог быть просмотрен независимо от того, как вы это делаете. все браузеры HTML и javascript должны просматриваться. вы можете написать функцию php для импорта данных файла и вывода его. что бы скрыть пути к файлам – abaft

+0

Это похоже на то, что мне нужно, я думаю, я попытаюсь изучить этот параметр, не уверенный, с чего начать. – Mahogan

0

Вы можете просто вывести его как текст в свой PHP-файл.

<?php 
    // Some PHP stuff here 
?> 

<script type="text/javascript"> 
    function loaded(){ 
    .... 
    } 
    onload=loaded; 
</script> 

<?php 
    // Some more PHP stuff here 
?> 

В качестве альтернативы, вы можете просто ссылаться на него обычным образом из того же файла:

<script src="path/to/your/file.js"></script> 
+0

В вашем первом примере файла php javascrpt все еще будет видимым, как это было бы в вашем втором альтернативном примере js? – Mahogan

+0

@Mahogan, что вы имеете в виду, он все еще будет виден ... Он должен быть виден для доступа к браузеру. –

+0

@ Махоган, да, это будет. Все теги между тегами будут проанализированы, и полученный HTML-код будет отправлен в браузер. Все, что находится в том же файле, которое не находится между этими тегами, будет отправлено в браузер как есть. –

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