js файл не вставляется корректно в php

12
P
На сайте с 06.01.2009
Offline
601
1058

Ребят, вынужден создать отдельную тему.

Есть код в php файле


<?
$urlsmodels = "vintage.php";
echo "<script type=\"text/javascript\">document.write( '<a href=\"../$urlsmodels\"> vintage</a>');</script>.";
?>

Задача, засунуть часть кода в подгружаемы js файл

Оставляем в php

echo "<script type=\"text/javascript\" src=\"../js/inmodel.js\"></script>.";

Делаем inmodel.js

document.write( '<a href=\"../$urlsmodels\">смотреть подробнее</a>');

Результат - ссылка имеет url

http://www.site.ru/$urlsmodels - что нас конечно не устраивает. Кто может помочь.

Перепробовал уже все варианты кавычек и т.д.

palladin_jedi
На сайте с 13.07.2010
Offline
71
#1


$urlsmodels = "vintage.php";
echo "<script type='text/javascript'>document.write( '<a href='../".$urlsmodels."> vintage</a>');</script>";

Как-то так...

Сайт о web-разработке и прочем (http://seazo.net)||Продвижение статьями под Google (http://short.seazo.net/ght4zf) Бесплатные консультации рефералам Sape (http://www.sape.ru/r.SWfwWOblBo.php) PHP и JS скрипты на заказ, создание сайтов с нуля и на CMS.
P
На сайте с 06.01.2009
Offline
601
#2

palladin_jedi, так не, мне надо раскидать код по 2-м файлам php и *.js подгружаемый. Вот проблема. Или я что то не понял?

siv1987
На сайте с 02.04.2009
Offline
427
#3

1.php


<?php
$urlsmodels = "vintage.php";
echo "document.write( '<a href=\"../$urlsmodels\"> vintage</a>');";
?>

index.php


echo "<script type='text/javascript' src='../js/1.php'></script>.";
P
На сайте с 06.01.2009
Offline
601
#4

Не работает

в js вот

document.write( '<a href='../".$urlsmodels."> vintage</a>');

в php вот

echo "<script type='text/javascript'> src='../js/inmodel.js'></script>";
zhitov
На сайте с 30.01.2005
Offline
219
#5
postavkin:
Делаем inmodel.js

document.write( '<a href=\"../$urlsmodels\">смотреть подробнее</a>');

Результат - ссылка имеет url
http://www.site.ru/$urlsmodels - что нас конечно не устраивает. Кто может помочь.

У вас в js-файлах php обрабатывается?

Строительные калькуляторы ( https://www.zhitov.com/ )
siv1987
На сайте с 02.04.2009
Offline
427
#6

Чо не работает? Вам же сказали, что либо ставить php-addhandler на расширение js либо файл должен быть php-пешным чтобы в нем исполнялись скрипты

samimages
На сайте с 31.05.2009
Offline
427
#7

Проблема в области видимости переменной $urlsmodels, она существует только в файле index.php

Ява подключается как картинка, т.е. "остается" в своей директории.

Вариантов решения нет... Ну т.е. хороших нет)))

1. Можно попробовать require, но тогда вызов явы может не сработать...

2. Можно попробовать передать параметр GET в яву, но тогда придется разрешать обработку php в файлах js

По хорошему, оба варианта - кал.

Как передать результат php в яву.... а зачем?

Если только ради того, чтобы скрыть ссылку от ПС, разбейте ее на части методами явы прямо в файле php, как у вас и было.

ну типа



var a_a = "<a href=";
var b_b = "\"$urlsmodels\";
var c_c = ">";
var d_d = "смотреть подробнее";
var e_e = "</a>";

document.write( 'a_a+b_b+c_c+d_d+e_e');

могу напутать с синтаксисом... время-то уже не детское)))

Опыт как иммунитет — приобретается в муках! Аудит семантики от 15К [долго] - ЛС
Каширин
На сайте с 03.01.2004
Offline
1030
#8

ТС, ты извращенец :) пытаешься передать переменную PHP в джаваскрипт.

Есть много возможностей для этого. В том числе и извращенные (как ты любишь) :)

Ты, наверное, забыл, что PHP работает на стороне сервера, а джава - на стороне клиента. Или не забыл, а все садо-мазо для этого и делается? ;)

Можно, к примеру, сделать файл /js/inmodel.php (а кто сказал, что файлы джаваскрипта должны быть с расширением .js?) и, к примеру, передавать переменную методом GET :)

echo "<script type='text/javascript'> src='../js/inmodel.php?urlsmodels=$urlsmodels'></script>";

Ну а в inmodel.php отрисовывать то, что нужно.

P
На сайте с 06.01.2009
Offline
601
#9
Каширин:
ТС, ты извращенец :) пытаешься передать переменную PHP в джаваскрипт.

Я просто не столько много понимаю в этом как Вы.

Да, попробовал, думал что есть решение.

Понял, что простого нет. Спасибо

---------- Добавлено 25.01.2012 в 12:50 ----------

Каширин:

Можно, к примеру, сделать файл /js/inmodel.php (а кто сказал, что файлы джаваскрипта должны быть с расширением .js?) и, к примеру, передавать переменную методом GET :)

Ну а в inmodel.php отрисовывать то, что нужно.

Константин, я правильно понимаю, но ссылка из php файла будет индексироваться, да? Так её не закрыть.

ДП
На сайте с 23.11.2009
Offline
203
#10

postavkin, посмотрите вот этот пост:/ru/forum/comment/9952110

Там нормальное решение. Нужно просто учитывать, что содежимое файла не обязательно соответствует его расширению. Там, не смотря на то, что файл 1.php называется, в нем содержится javascript.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий