比其他网页的自己的样式表
我建立的网站www.verbum.xtrweb.com/verbum.php比其他网页的自己的样式表
我使用请求函数在PHP中获得的从网站西班牙语单词的定义替换样式表:WWW。 rae.es。我得到的输出是在一个,但不幸的是,我不能改变它输出的元素的风格。例如,如果你查看“hola”这个词,你会得到“hola”的含义,但是可以使用www.rae.es的样式表。我想要的是适用于这种输出我自己的风格(颜色,字体,字体大小等)
我现在有一种叫做$重要!但根据我以前测试过的方式,它不起作用。
我以紧迫感唤起了*社区的魔力。
要更改的内容位于iframe中。我建议你只是将样式表注入iframe直接,但不幸的是你想要的内容是在不同的域。由于跨域安全策略,您将无法直接修改iframe的内容。
有两种方法可以解决这个问题。您可以使用PHP应用程序获取您需要的内容,然后您可以以任何您想要的方式对其进行过滤并进行更改。这将取代iframe,而只是在页面上显示您需要的内容。另一种选择是使用更简单的PHP应用程序来获取内容,但根本不会修改它。然后你将你的iframe指向这个PHP应用程序,它将以与现在相同的方式显示,但它将来自同一个域。然后你可以用Javascript注入一个样式表,并以任何你想要的方式。
“重要!”如果你使用我提到的第二种方法,可能需要CSS覆盖,但它不是问题的根本原因。如果你想阅读更多关于如何使用重要!,我建议this article。
下面我已经实现了我描述的第一种方法的一个例子。这将下载请求的页面,然后注入一组自定义样式。
<?php
$url = 'http://lema.rae.es/drae/srv/search?id=IwxflJmT9DXX2DMkYs8Z';
$css = <<<EOT
<style type="text/css">
body
{
background: #eeeeee;
}
.a
{
color: green;
}
.f
{
font-size: 200%;
}
.o
{
font-size: 80%;
}
img
{
opacity: .5;
}
img:hover
{
opacity: 1;
}
</style>
EOT;
$data = file_get_contents($url);
$data = str_replace('</head>', $css.'</head>', $data);
echo $data;
?>
感谢@jmack提供了令人惊叹的解释,但您在谈论哪种PHP应用程序?谢谢!!! – j1nma
我正在谈论一个自定义的PHP应用程序,而不是特别的一个。对于我注意到的第二个选项,脚本将更简单。您可以使用略微修改的PHP AJAX代理版本轻松完成此操作。那有意义吗? –
胡安马,我希望你已经找到了解决问题的办法。如果我的回答对你有益,请考虑投票并接受它作为最佳答案。谢谢。 –
这是一个'iframe'!您应该查找(并在此处询问)如何更改iframe的CSS。 – inhan
为什么在有api时使用iframe。 (http://rae-quel.appspot.com/json?query=hola) – 2012-11-15 03:37:49
我该怎么实现api @Dagon,我求你赦免 – j1nma