我正在使用Jaipho从自定义Wordpress插件向移动图库显示图像。 使用WP-mobile-detector插件显示使用Jaipho画廊的wordpress主题。
我遇到的问题是当我使用php收集照片的URL来回显一个由javascript解析的函数时。 我从Safari的元素检查器中获取了生成的静态javascript代码并将其粘贴到我的代码中,注释掉了php,它可以在任何地方使用。 Safari for iOS似乎不喜欢php生成的javascript代码。
HTML 5 <DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/> PHP 5.2.6 Wordpress 3.2.1当它工作时:
用户代理在Safari上设置为iPhone静态代码取代了php生成的代码
$imageArray = $case->images_assc_array(); $i = 0; foreach($imageArray['views'] as $view_name => $view_images) { $before_img = $view_images['before']; $after_img = $view_images['after']; echo "dao.ReadImage($i,'".$before_img->medium_size()."','".$before_img->small_size()."','".ucfirst($view_name)." Before','".$case->description."');"; $i++; echo "dao.ReadImage($i,'".$after_img->medium_size()."','".$after_img->small_size()."','".ucfirst($view_name)." After','".$case->description."');"; $i++; }预期示例生成输出:
dao.ReadImage( 0,'/wp-content/uploads/rmgallery_images/medium/408/before-front.jpg','/wp-content/uploads/rmgallery_images/small/408/before-front.jpg','Front Before','38 year old who underwent a tummy tuck.'); dao.ReadImage( 1,'/wp-content/uploads/rmgallery_images/medium/410/after-front.jpg','/wp-content/uploads/rmgallery_images/small/410/after-front.jpg','Front After','38 year old who underwent a tummy tuck.'); dao.ReadImage( 2,'/wp-content/uploads/rmgallery_images/medium/409/before-side.jpg','/wp-content/uploads/rmgallery_images/small/409/before-side.jpg','Side Before','38 year old who underwent a tummy tuck.'); dao.ReadImage( 3,'/wp-content/uploads/rmgallery_images/medium/411/after-side.jpg','/wp-content/uploads/rmgallery_images/small/411/after-side.jpg','Side After','38 year old who underwent a tummy tuck.');I'm using Jaipho to display images to a mobile gallery from a custom Wordpress plugin. The wordpress theme that uses the Jaipho gallery is displayed using the WP-mobile-detector plugin.
The problem I am having is when I use php to gather the URLs to the photos to echo out a function to be parsed by javascript. I took the resulting static javascript code from the element inspector of Safari and pasted it into my code, commenting out the php, and it works everywhere. Safari for iOS doesn't seem to like the javascript code generated by the php.
HTML 5 <DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/> PHP 5.2.6 Wordpress 3.2.1When it works:
User Agent set to iPhone on SafariStatic code replaces php-generated code
$imageArray = $case->images_assc_array(); $i = 0; foreach($imageArray['views'] as $view_name => $view_images) { $before_img = $view_images['before']; $after_img = $view_images['after']; echo "dao.ReadImage($i,'".$before_img->medium_size()."','".$before_img->small_size()."','".ucfirst($view_name)." Before','".$case->description."');"; $i++; echo "dao.ReadImage($i,'".$after_img->medium_size()."','".$after_img->small_size()."','".ucfirst($view_name)." After','".$case->description."');"; $i++; }Expected example generated output:
dao.ReadImage( 0,'/wp-content/uploads/rmgallery_images/medium/408/before-front.jpg','/wp-content/uploads/rmgallery_images/small/408/before-front.jpg','Front Before','38 year old who underwent a tummy tuck.'); dao.ReadImage( 1,'/wp-content/uploads/rmgallery_images/medium/410/after-front.jpg','/wp-content/uploads/rmgallery_images/small/410/after-front.jpg','Front After','38 year old who underwent a tummy tuck.'); dao.ReadImage( 2,'/wp-content/uploads/rmgallery_images/medium/409/before-side.jpg','/wp-content/uploads/rmgallery_images/small/409/before-side.jpg','Side Before','38 year old who underwent a tummy tuck.'); dao.ReadImage( 3,'/wp-content/uploads/rmgallery_images/medium/411/after-side.jpg','/wp-content/uploads/rmgallery_images/small/411/after-side.jpg','Side After','38 year old who underwent a tummy tuck.');最满意答案
你有一些不匹配的报价:
echo dao.ReadImage($i,'".$before...
echo "dao.ReadImage($i,'".$after...
等等。
试试这些:
echo 'dao.ReadImage('.$i.',"'.$before_img->medium_size().'","'.$before_img->small_size().'","'.ucfirst($view_name).' Before","'.$case->description.'");'; echo 'dao.ReadImage('.$i.',"'.$after_img->medium_size().'","'.$after_img->small_size().'","'.ucfirst($view_name).' After","'.$case->description.'");';Credit to @Marc B and @linuxrules94 for a combined solution:
<?php $imageArray = $case->images_assc_array(); $i = 0; foreach($imageArray['views'] as $view_name => $view_images): $before_img = $view_images['before']; $after_img = $view_images['after']; ?> dao.ReadImage(<?=json_encode($i);?>, <?=json_encode($before_img->medium_size());?>,<?=json_encode($before_img->small_size());?>,<?=json_encode(ucfirst($view_name));?> + " Before", <?=json_encode(stripslashes($case->description));?>); <? $i++; ?> dao.ReadImage(<?=json_encode($i);?>, <?=json_encode($after_img->medium_size());?>,<?=json_encode($after_img->small_size());?>,<?=json_encode(ucfirst($view_name));?> + " After", <?=json_encode(stripslashes($case->description));?>); <? $i++; endforeach; ?>Thanks, everyone!
更多推荐
发布评论