解決策を高低で検索しましたが、見つかりません。PDFファイルを表示するためにGoogleDocsViewerを使用しています。これは素晴らしいツールですが、Internet Explorer(7または8)では機能しないようです。すべての画像が「欠落」アイコンとして表示されます。ファイルを外部から見ると、正常に読み込まれ、動作を開始するようです(画像がキャッシュされているためだと思います)。ドキュメントはに表示されてiframe
おり、他のすべてのブラウザで機能します。IEで動作させるためのソリューションに出くわした人はいますか?そうでない場合、PPTおよびPDFファイルを表示できる代替手段はありますか?
8819 次
3 に答える
3
私も同じ問題を抱えていますが、IEの信頼できるサイトにURLを追加するようにユーザーに依頼する必要があるとは思いませんでした。
幸いなことに、私は次の投稿に出くわしました:
サードパーティのCookieが無効になっている場合、埋め込みバージョンのGoogle Docs Viewer(gview)は画像を正しくロードしません。この問題は、デフォルトでは無効になっているため、ほとんどのIEユーザーにとって問題です。以下に、少なくともgoogleがp3pを追加するまで、この問題の回避策を示します。この問題の元の議論は、googledocsヘルプフォーラムで見つけることができます。
私はこれを試しましたが、IE8、IE7、IE6で動作します。
于 2010-12-05T00:27:59.887 に答える
1
私はこれが古い質問であることを知っていますが、問題はまだ解決せず、空白のWebサイトを指す回答でこの質問に遭遇したので、他の誰かが念のために、 @codeintheholeanswerで言及されているスクリプトの実際のコードを次に示します。それが必要です。(今回はGitHubで見つかる可能性があります)
<?php
# This proxy code is a bypass for an existing flaw in Google Docs Viewer that breaks the functionality
# for some IE users. If you do not wish to use this code, select Google Standard Viewer rather than
# Enhanced Viewer in GDE Settings. Note that viewer toolbar customization options depend on this
# proxy workaround remaining enabled.
#
# The problem this code addresses is discussed at length on Google's Help Forum:
# http://www.google.com/support/forum/p/Google+Docs/thread?tid=22d92671afd5b9b7&hl=en
#
# This code is based on the work of Peter Chen. For more information, see:
# http://peterchenadded.herobo.com/gview/
#
# Peter's code is modified below to allow for cURL fallback, viewer toolbar customization,
# and to reflect changes in the viewer since the code was first released.
// test for allow_url_fopen in php config; try curl for function if disabled
if (ini_get('allow_url_fopen') !== "1") {
if (function_exists('curl_version')) {
$curl = 1;
} else {
$err = "This function is not supported on your web server. Please add ";
$err .= "<code>allow_url_fopen = 1</code> to your php.ini or enable cURL library. ";
$err .= "If you are unable to do this, please switch to Google Standard ";
$err .= "Viewer in GDE Options.";
echo $err;
exit;
}
}
if (isset($_GET['embedded'])) {
// get the src page, change relative path to absolute
if (isset($curl)) {
$code = curl_get_contents("http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
} else {
$code = file_get_contents("http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
}
// fix path to images
$search[] = "/viewer/images";
$replace[] = "http://docs.google.com/viewer/images";
$search[] = "/gview/images";
$replace[] = "http://docs.google.com/viewer/images";
// proxy the javascript file
$search[] = "gview/resources_gview/client/js";
$replace[] = "?jsfile=gview/resources_gview/client/js";
if (isset($_GET['gdet'])) {
$gdet = $_GET['gdet'];
# hide google icon (i)
/* These are no longer visible by default - not necessary
if (strstr($gdet, 'i') !== false) {
$search[] = ".goog-logo-small {";
$replace[] = ".goog-logo-small { display: none !important;";
}
# hide single/double page view (p)
if (strstr($gdet, 'p') !== false) {
$search[] = ".controlbar-two-up-image {";
$replace[] = ".controlbar-two-up-image { display: none !important;";
$search[] = ".controlbar-one-up-image {";
$replace[] = ".controlbar-one-up-image { display: none !important;";
}
*/
# hide zoom in/out (z)
if (strstr($gdet, 'z') !== false) {
$search[] = "#zoomOutToolbarButtonIcon {";
$replace[] = "#zoomOutToolbarButtonIcon { display: none !important;";
$search[] = "#zoomInToolbarButtonIcon {";
$replace[] = "#zoomInToolbarButtonIcon { display: none !important;";
}
# hide open in new window (n)
if (strstr($gdet, 'n') !== false) {
$search[] = "#openInViewerButtonIcon {";
$replace[] = "#openInViewerButtonIcon { display: none !important;";
}
}
$code = str_replace($search, $replace, $code);
header('Content-type: text/html');
echo $code;
} else if (isset($_GET['a']) && $_GET['a'] == 'gt') {
// get text coordinates file, can not redirect because of same origin policy
if (isset($curl)) {
$code = curl_get_contents("http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
} else {
$code = file_get_contents("http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
}
header('Content-type: text/xml; charset=UTF-8');
echo $code;
} else if (isset($_GET['a']) && $_GET['a'] == 'bi') {
// redirect to images
header("Location: http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
header('Content-type: image/png');
} else if (isset($_GET['jsfile'])) {
// proxy javascript files and replace navigator.cookieEnabled with false
if (isset($curl)) {
$code = curl_get_contents("http://docs.google.com/" . $_GET['jsfile']);
} else {
$code = file_get_contents("http://docs.google.com/" . $_GET['jsfile']);
}
$search = array("navigator.cookieEnabled");
$replace = array("false");
$code = str_replace($search, $replace, $code);
header('Content-type: text/javascript');
echo $code;
} else {
// everything else, of which there isn't!
header("Location: http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
}
function curl_get_contents($url)
{
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
return $file_contents;
}
于 2015-08-26T14:06:01.043 に答える
0
この問題に対して私が見つけた唯一の解決策は、信頼できるインターネットサイトにhttps://docs.google.comを追加することです。
于 2010-05-24T18:22:41.027 に答える