我在做什么?
我有一个dynamically created html division
,其中包含用户可以在社交媒体上分享的游戏分数。
对于共享,我有元标记,例如实
<meta property="og:image" content= "<?php echo $img_url; ?>"/>
其中$img_url
是dynamically created html division
。
test.php - 我上面提到的元标记已放置,如果未设置html div
,我想截取$img_url
的屏幕截图。
<?php
session_start();
$img_url = $_POST['img_url'];
if(!isset($url)) {
/* <script>
function capture() {
html2canvas will give var img.
Which will be POSTED to testsave.php to save it in the server.
}
</script> */
}
?>
<html>
<!--dynamically created html division -->
</html>
testsave.php - 将从test.php
获取已发布的值并将屏幕截图保存到服务器,并将$img_url
发送回test.php
<?php
session_start();
/*Get the base-64 string from data
Decode the string
Save the image
function predefined for random string*/
$img_url = $random_str.".png";
file_put_contents($img_url, $unencodedData);
$_SESSION['img_url'] = $img_url ;
?>
我的问题是什么?
当Facebook抓取特定页面时,它不会从session values
或其他页面中的任何值。所以我不能从testsave.php发送img_val
到另一个页面,因为刮刀不会读取POSTED
值。
所以,我在做什么,刮刀会刮掉test.php
然后如果$img_val
未设置我想让我的代码截取屏幕并发布js
变量var img
到testsave.php
保存图片,然后将$img_val
的值发回test.php
。
我知道上面的代码可能存在很多错误,例如我无法将js
置于php
内。但我尝试了很多方法,但无法弄明白。
您能否建议我可以做些什么来使代码生效?或者您可以建议其他任何方式来执行此操作吗?
答案 0 :(得分:1)
你必须用PHP回显HTML
<?php
session_start();
$img_url = $_POST['img_url'];
if(!isset($url)) {
echo "<script>
function capture() {
//your js code here
}
</script>";
}
?>
<html>
<!--dynamically created html division -->
</html>
答案 1 :(得分:1)
例如Test.phtml-在某些条件下我正在调用js函数的地方。
<body>
<?php if($this->emptyData){ ?>
<div id="someTestDialog">
<!-- call js function below -->
<?php
echo '<script type="text/javascript">testDialog();</script>';
?>
</div>
<?php } ?>
</body>
<script>
function testDialog() {
return $("<div class='dialog' title='Alert'><p>Hello World</p></div>")
.dialog({
resizable: false,
height:90,
width:90,
modal: true,
dialogClass: 'no-close success-dialog',
buttons: {
"OK": function() {
$( this ).dialog( "close" );
}
}
});}
$(document).ready(function() {
var text = "some code here" }); </script>
答案 2 :(得分:0)
解决方案之一是使用here-document将整个HTML页面分配给PHP变量,然后在需要时回显/打印它,并在其中包含Javascript代码
示例“此示例不包含您提到的图像,但可以使用任何Javascript代码”
<?php
$variable=<<<_END
<html>
<p>Some HTML line...</p>
<script>
//you can write the Javascript codes you need here
console.log('Find this sentence at console !')
</script>
</html>
_END;
echo $variable;
?>