抓取 utf-8 網頁並顯示原始碼


http://www.google.com.tw 的原始碼 <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="zh-TW"><head><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image"><title>Google</title><style>/* IMPORTANT: Changes to this template need to be tested in all OneGoogle */ /* enabled frontends! */ /* Explanation of classes and ids... */ /* #gb - one google container */ /* #gbw - wrapper element for constraining the bars in fixed-width UIs */ /* #gbz - navigation bar */ /* #gbg - gaia bar */ /* #gbs - shim element (dynamically created by JS) */ /* #gbx3 - Left bg / bottom border */ /* #gbx4 - Right bg / bottom border */ /* #gbb - Google Bar Bottom: an element to anchor things that should be */ /* aligned relative to the bottom of the sandbar. */ /* #gbbw - Google Bar Bottom Wrapper: a wrapper for #gbb to allow absolute */ /* positioning. */ /* .gbtc - group of tabs container(ol) */ /* .gbtcb - DEPRECATED IE quirkmode fix, see note with class */ /* .gbtb2 - tab secondary top border element */ /* .gbxx - hidden style */ /* .gbxo - hidden using opacity: 0 */ /* .gbt - one google tab(li) */ /* .gbtb - vertical colored spacer between tabs */ /* .gbto - tab in the gaia bar that is open */ /* .gbts - the span directly in a tab */ /* .gbtsa - the span directly in a tab that contains a dropdown arrow */ /* .gbzt - one google tab link(a) in the nav bar */ /* .gbgt - one google tab link(a) in the gaia bar */ /* .gbz0l - selected tab link in the nav bar */ /* .gbg0l - selected tab link in the gaia bar (nav bar and widgets) */ /* .gbm0l - selected tab link in the more dropdown */ /* .gbps - span in the account menu dropdown */ /* .gbps2 - secondary span in the account menu dropdown */ /* .gbpd - disabled section in the account menu dropdown */ /* #gbztms - the span directly in the more tab */ /* #gbztms1 - the span around the "more" text */ /* #gb_$id - JESR tab ids in the nav bar ($id corresponds to property id) */ /* #gb_70 - tab in the gaia bar for sign in (follows gb_$id convention) */ /* #gbg4 - tab in the gaia bar for profile */ /* .gbg4a - tab in the gaia bar for the identity avatar (photo) */ /* #gbg5 - tab in the gaia bar for options */ /* #gbg6 - tab in the gaia bar for profile name button */ /* #gbgs4 - span directly in the profile tab */ /* #gbgs5 - span directly in the options tab */ /* #gbi4 - wrapper for profile icon */ /* #gbi4i - gaia bar profile image */ /* #gbi4id - gaia bar placeholder profile image */ /* .gbi4p - gaia bar profile image pusher */ /* #gbi4t - gaia bar profile name */ /* #gbi4s1 - sign in text without profile picture */ /* #gbi4t1 - gaia bar profile name without profile picture */ /* #gbi5 - icon for options */ /* #gbli - PikePlace loading indicator */ /* .gbma - dropdown arrow graphic */ /* .gbxms - dropdown menu shadow effect for non CSS3-enabled UAs. */ /* .gbm - dropdown menu */ /* .gbmc - dropdown menu contents */ /* .gbmcc - dropdown menu item container collection */ /* .gbmtc - dropdown menu item container */ /* .gbmt - dropdown menu item */ /* gbml1 - dropdown menu inline item */ /* .gbmlb - another dropdown menu inline (link) item */ /* .gbmlbw - A wrapper for inline (link) items with margin. */ /* gbmh - dropdown menu horizontal separator */ /* #gbd - more dropdown */ /* #gbd4 - sandbar dropdown for profile */ /* #gbd5 - sandbar dropdown for options */ /* .gbpa - dropdown profile user info container (name. email, photo) */ /* .gbpc - dropdown profile user info and profile container */ /* #gbmpi - dropdown profile photo */ /* #gbmpiw - wrapper for the dropdown profile photo. */ /* #gbmpal - dropdown profile authentication links */ /* .gbmpala - primary dropdown profile authentication link */ /* .gbmpalb - secondary dropdown profile authentication link. */ /* Also used for the manaegd account button. */ /* #gbmpp - dropdown profile entity profiles link (enabled by JS) */ /* #gbpm - dropdown profile managed account messaging container */ /* #gbpms - dropdown profile managed account messaging span */ /* .gbpms2 - dropdown profile managed account messaging secondary span */ /* #gbmps - dropdown profile account multilogin account info */ /* #gbmpas - container for the list of multilogin accounts */ /* .gbpgs - Switch account sign in/out */ /* #gbmpsb - dropdown profile account switching back link */ /* .gbp0 - icon for the multilogin entry active */ /* .gbkc - common options link */ /* .gbn - internal options link */ /* .gbnd - dogfood options link */ /* .gbf - featured options link */ /* .gbe - extra frontend options link */ /* .gbkp - privacy options link */ /* .gbp1 - Used by Oz to handle links in the same window. */ /* #gbe - extra links container (deprecated, but reserved) */ /* #gbn - internal extra links container (deprecated, but reserved) */ /* #gbf - featured extra links container (deprecated, but reserved) */ /* .gbpdjs - a root class added by inline js and removed in deferred */ /* .gbrtl - a root class added by inline js to indicate RTL */ /* .gbiba - A block level item in the identity menu. */ /* .gbxv - Hides elements in the UI with visibility. */ /* .gbmpiah - Hides the account switcher avatars. */ /* .gbmpnw - Wrapping element for names in the account switcher. */ /* .gbmpiaa - Anchor tag for the large avatar. */ /* .gbmpia - Avatars in the account switcher (image element). */ /* Root element */ /* This element is in the flow and is designed to account for the height of OneGoogle without us caring about body padding/margin. */ #gb { font: 13px/27px Arial, sans-serif; height: 30px; } /* Nav links and the gaia bar. */ #gbz, #gbg { position: absolute; white-space: nowrap; top: 0; height: 30px; /* .gbm's z-index +1 so that we can cover the border-top of the dropdown. For IE in quirksmode we have to apply z-index to all parents of the tab. See http://www.quirksmode.org/bugreports/archives/2006/01/ Explorer_z_index_bug.html */ z-index: 1000; } /* Nav property links */ #gbz { left: 0; /* It is essential for menu positioning that this is 0 */ /** * 6px tab padding + 4px = 10px from the side. * Note: this distance should match gbarinternal.base.POPUP_MIN_DIST_FROM_EDGE * in google3/webserver/tools/one_google/static/js/sandbar_base.js. */ padding-left: 4px; } /* Gaia bar */ #gbg { right: 0; /* It is essential for menu positioning that this is 0 */ padding-right: 5px; /* Match left distance */ } /* iframe shim */ #gbs { background: transparent; position: absolute; top: -999px; /* Fixes b/3178517. */ visibility: hidden; /* Overall z-index - 2 */ z-index: 998; right: 0; /* Fixes b/8851089. */ } .gbto #gbs { background: #fff; } /* The background gradient and bottom border. */ /* We use two side bg elements to solve a problem unique to quirksmode in IE. An element with left:0 and width:100% will not span the entire width in that case - it will subtract the body's left and right margins and end up short on the side. Having two elements means one can be left and one can be right, thereby solving the problem. Note that these cannot be themselves contained by any element with left or right set. This solution was invented by Tony Gentilcore for the original OneGoogle. */ #gbx3, #gbx4 { background-color: #2d2d2d; background-image: none; /* IE6 and IE quirks. */ _background-image: none; background-position: 0 -138px; background-repeat: repeat-x; border-bottom: 1px solid #000; /* TODO(dcarlsson): Verify this is still needed and correct. */ font-size: 24px; /* For IE in quirksmode. */ /* 29px height + 1px bottom border = 30px Sandbar total height. */ height: 29px; _height: 30px; /* IE in quirks mode. */ opacity: 1; filter: alpha(opacity=100); /* Opacity for IE <= 8. */ position: absolute; top: 0px; width: 100%; z-index: 990; /* Reserve z-index 990-1000 */ } #gbx3 { left: 0; } #gbx4 { right: 0; } #gbb { /** * A zero-height container at the bottom of the sandbar. Cannot be absolute, * otherwise it's children who are set to absolute will be positioned relative * to the whole page, not the sandbar bottom. Hence the wrapper. */ position: relative; } #gbbw { /** * Wrapper for #gbb. Absolute so it can be placed at the bottom of #gb despite * the margin or padding of the containing page. */ left: 0; position: absolute; top: 30px; width: 100%; } /** * Deprecated element for the background standout effect for selected * tabs. This element is provided in sandbar_nav_prekennedy and * sandbar_nav_prekennedy_jesr for the nav bar and sandbar_es1_gaia, * sandbar_es2_gaia, and sandbar_es2_gaia_jesr for the Gaia bar. * Without it IE in quirksmode generates a horizontal scrollbar * until the the more menu is opened (for LTR) or a Gaia bar menu is * opened (for RTL) because the contents of the more menu are wider than * the viewport until they are opened. * TODO(dcarlsson): Fix this horrendous issue. */ .gbtcb { position: absolute; visibility: hidden; } /* FOR LTR */ #gbz .gbtcb { right: 0; } /* FOR RTL */ #gbg .gbtcb { left: 0; /* Creates a notch on the left as well */ } /* Used to hide elements added purely for accessibility. */ .gbxx { display: none !important; } /* Used to hide elements for transitions. */ .gbxo { opacity: 0 !important; filter: alpha(opacity=0) !important; } /* Drop down menu class */ .gbm { position: absolute; /* Overall z-index - 1. */ z-index: 999; top: -999px; /* Fixes b/3178517. */ visibility: hidden; text-align: left; border: 1px solid #bebebe; background: #fff; /** * Firefox has a bug calculating the width of the box-shadow inside of the * position:relative tab element. It doesn't include the size of the box * shadow so when the shadow is rendered, the menu is positioned too close * to the edge of the viewport. Without the line below the dropdown menus * in the Gaia bar create a horizontal scrollbar. We apply the style to * all menus rather than have the more menu have a different box shadow * style than all of the menus in the Gaia bar. */ -moz-box-shadow: -1px 1px 1px rgba(0,0,0,.2); -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.2); box-shadow: 0 2px 4px rgba(0,0,0,.2); } /* Firefox <= 3.6 box-shadow scrollbar fix for RTL. */ .gbrtl .gbm { -moz-box-shadow: 1px 1px 1px rgba(0,0,0,.2); } .gbto .gbm, .gbto #gbs { top: 29px; visibility: visible; } /* The default menu positions, relative to the tab element container. */ #gbz .gbm { left: 0; } #gbg .gbm { right: 0; } /* This is for an element that will only be created in browsers that don't support CSS3 for the menu box-shadow effect (namely IE <= 8, FF <= 3). */ .gbxms { background-color: #ccc; display: block; position: absolute; z-index: 1; /* .gbmc -1 so that .gbmc renders on top of .gbxms. */ /* Defaults for Firefox <=3 and other random non CSS3-enabled UAs. */ top: -1px; left: -2px; right: -2px; bottom: -2px; opacity: .4; -moz-border-radius: 3px; /* IE6 & 7 */ filter:progid:DXImageTransform.Microsoft.Blur(pixelradius=5); *opacity: 1; *top: -2px; *left: -5px; *right: 5px; *bottom: 4px; /* IE8 */ -ms-filter:"progid:DXImageTransform.Microsoft.Blur(pixelradius=5)"; opacity: 1\0/; top: -4px\0/; left: -6px\0/; right: 5px\0/; bottom: 4px\0/; } /* Generalized "more" dropdown arrow element, done with CSS border trickery. */ .gbma { /** * The "border-style: dashed" will never be rendered unless * "(width * 3) >= border-width" is true. Since "width" is set to "0", the * "dotted-border" remains invisible to the user, which renders the border * just like how "border-color: transparent" renders. * See http://hedgerwow.appspot.com/demo/arrows */ position: relative; top: -1px; border-style: solid dashed dashed; border-color: transparent; border-top-color: #c0c0c0; display: -moz-inline-box; /* Ignored by FF3 and later. */ display: inline-block; font-size: 0; /* For IE in quirksmode */ height: 0; line-height: 0; width: 0; border-width: 3px 3px 0; padding-top: 1px; left: 4px; } /** * IE6, IE7, and quirksmode fix for height and positioning for tabs * that have a dropdown arrow indicator: "more" and account menus. * The pure-CSS dropdown menu arrows require make this fix necessary. */ #gbztms1, #gbi4m1, #gbi4s, #gbi4t { zoom: 1; /* IE6, IE7, and quirksmode fix for height and positioning. */ } /** * Google bar tab container, dropdown menu container, * dropdown content collection. */ .gbtc, .gbmc, .gbmcc { display: block; list-style: none; margin: 0; padding: 0; } /* A wrapper around the contents in the dropdown menu. */ .gbmc { background: #fff; padding: 10px 0; position: relative; z-index: 2; /* .gbxms + 1 to be on top of the shadow. */ /** * IE6, IE7, and quirksmode fix for height and positioning. * Prevents the faux box-shadow from bleeing through into * dropdown menus in IE. */ zoom: 1; } /** * Google bar tab. * Because of RTL issues in IE6 and IE7 and Firefox2 we won't float * tab containers to get inline block formatting context, we'll employ a * x-browser display:inline-block. */ .gbt { position: relative; display: -moz-inline-box; /* Ignored by FF3 and later. */ display: inline-block; /** * The line-height inside of the Google bar tab is 2px less than the * perceived line height of 30px because of the secondary (2px) border * that's rendered inside of the Google bar tab by .gbtb2. * 30px total height - 2px top border - 1px bottom border = 27px. */ line-height: 27px; padding: 0; vertical-align: top; } /** * IE <= 7 hack, "display: inline-block" only gives the element * layout, but doesn't give it inline behavior. Subsequently setting display * to inline in another selector does the trick. */ .gbt { *display: inline; } /* Open tabs get shadow treatment to match the dropdown. */ .gbto { box-shadow: 0 2px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 2px 4px rgba(0,0,0,.2); -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.2); } /* Disables text underline and use pointer for all google bar items. */ .gbzt, .gbgt { cursor: pointer; /* IE6, IE7, and quirksmode. */ display: block; /** * Overrides text-decoration for frontends that define a * state-specific link change (e.g. Books). */ text-decoration: none !important; } /* When the identity menu dropdown is disabled, we don't want a pointer */ span#gbg6, span#gbg4 { cursor: default; } /* The span inside of the tab */ .gbts { border-left: 1px solid transparent; border-right: 1px solid transparent; display: block; /* On IE <=7 set up as an inline-block instead in order to fix RTL issues when text inside the span is in a different direction context than document.body. For instance, if body.direction=rtl and one of the tab spans has "Gmail" in it (which is LTR), IE <=7 will give that element "hasLayout" and the span will expand horizontally past the page width. ick. */ *display: inline-block; /** * 5px left/right padding + 1px left/right transparent borders = * 6px inner-tab spacing. */ padding: 0 5px; /* position and bg needed to obscure the .gbm border line */ position: relative; /* .gbm's z-index +1 so that we can cover the border-top of the .gbm. For IE in quirksmode we have to apply z-index to all parents of the tab. See http://www.quirksmode.org/bugreports/archives/2006/01/ Explorer_z_index_bug.html */ z-index: 1000; } /* Completes the IE <= 7 inline-block hack; see note with .gbt. */ .gbts { *display: inline; } /* Set the nav link text to display inline so that link navigation right click * options appear in IE 8&9. */ .gbzt .gbts { display: inline; /* This is needed to force hasLayout and make the links display correctly in * IE7. */ zoom: 1; } /* Open state changes the inner span. */ .gbto .gbts { background: #fff; /* Gain specificity over hover for left/right borders. */ border-color: #bebebe; /* Open tabs always have a white background and link-blue text. */ color: #36c; /** * Bottom padding needed to cover up the top border of a .gbm dropdown. * Note that this relies on the container being z-index above .gbm. * Top padding accounts for the loss of the 2px transparent top border * for open tabs. */ padding-bottom: 1px; padding-top: 2px; } /* Inner span of tab is not blue when selected. */ .gbz0l .gbts { color: #fff; font-weight: bold; } /* Extra right padding to account for the dropdown menu arrow indicator. */ .gbtsa { /* 5px (normal padding) + 4px (arrow) + 1px transparent border. */ padding-right: 9px; } /* Nav links, "more" tab text, and gaia bar links are the same color. */ #gbz .gbzt, #gbz .gbgt, #gbg .gbgt { color: #ccc !important; } /** * Secondary border top element inside of each tab during * hover and selected states. */ .gbtb2 { display: block; /* Reserves room for when a border is added on select. */ border-top: 2px solid transparent; } /* Left/right borders of an open tab extend to the top of the bar. */ .gbto .gbzt .gbtb2, .gbto .gbgt .gbtb2 { border-top-width: 0; } /** * Creates a vertical divider between widgets by using the inner span * of the spacer tab to create the divider color. */ .gbtb .gbts { background: url(https://ssl.gstatic.com/gb/images/b_8d5afc09.png); _background: url(https://ssl.gstatic.com/gb/images/b8_3615d64d.png); /* IE6 and IE quirks. */ background-position: -27px -22px; border: 0; font-size: 0; /* For IE in quirks and standards. */ /** * Line-height from .gbt + 2px to account for the space that .gbtb2 * fills for the standard Google bar tabs. */ padding: 29px 0 0; *padding: 27px 0 0; /* IE <= 7. */ width: 1px; } /* Hovered tab */ .gbzt:hover, .gbzt:focus, .gbgt-hvr, .gbgt:focus { background-color: #4c4c4c; background-image: none; /* IE6 and IE quirks. */ _background-image: none; background-position: 0 -102px; background-repeat: repeat-x; /* Since we apply nice focus backgrounding, we can remove the OS outline. */ outline: none; /** * Overrides text-decoration for frontends that define a * hover-specific state (e.g. GWS, ES). */ text-decoration: none !important; } /** * Pre-deferred bundle menu-availability CSS. */ .gbpdjs .gbto .gbm { min-width: 99%; /* Close enough to matching the tab width */ } /* Selected tabs have a fully opaque secondary border that is hover-agnostic. */ .gbz0l .gbtb2 { border-top-color: #dd4b39 !important; } /** END tabs and tab container CSS */ /* TODO(dcarlsson): Is #gbi4s still being used? */ /* Sign in text container (Account menu tab when signed out). */ #gbi4s, #gbi4s1 { font-weight: bold; } /* The profile name button (which opens the photo tab identity menu). */ #gbg6.gbgt-hvr, #gbg6.gbgt:focus { background-color: transparent; /* Removes dark bar background. */ background-image: none; /* Removes Gmail light backgroud. */ } /** * The profile photo tab. * Fix for IE <=8 in quirks and standards for the height of the profile * photo tab (visibly broken on hover otherwise). */ .gbg4a { font-size: 0; line-height: 0; } /** * Span for the profile photo tab, creates the height for the tab by extending * the height of .gbts. This allows for the correct hover and open tab states * in the tab with only absolutely-positioned content in it and solves the * problem where using padding on .gbi4p renders different heights for the tab * in IE8/9 quirks and IE7 quirks. These styles include the same vertical * adjustment for quirks mode as .gbtb .gbts. */ .gbg4a .gbts { padding: 27px 5px 0; *padding: 25px 5px 0; /* IE <= 7. */ } /** * The open profile tab extends over the top border of the dropdown menu. * These padding adjustments for the open tab mirror the pattern used in * #gbgs5. */ .gbto .gbg4a .gbts { padding: 29px 5px 1px; *padding: 27px 5px 1px; /* IE <= 7. */ } /* Multilogin profile image and placeholder image in the GAIA bar. */ #gbi4i, #gbi4id { left: 5px; border: 0; height: 24px; position: absolute; top: 1px; width: 24px; } /** * Open profile photo tab. * Accounts for the loss of the 2px transparent top border for open tabs. * See note with .gbto .gbts. */ .gbto #gbi4i, .gbto #gbi4id { top: 3px; } /** * Pusher element for the Gaia bar profile photo tab to create space for the * absolutely positioned profile avatar. */ .gbi4p { display: block; width: 24px; } /* Placeholder profile image in the GAIA bar. */ #gbi4id { background-position: -44px -101px; } /* Placeholder profile image in the account menu. */ #gbmpid { background-position: 0 0; } /* Multilogin profile image and placeholder image in the account menu. */ #gbmpi, #gbmpid { border: none; /* For FF, which otherwise renders a blue border. */ display: inline-block; height: 48px; width: 48px; } /* Wrapper for the profile image and "Change photo" link. */ #gbmpiw { display: inline-block; line-height: 9px; padding-left: 20px; margin-top: 10px; position: relative; } /* Completes the IE <= 7 inline-block hack; see note with .gbt. */ #gbmpi, #gbmpid, #gbmpiw { *display: inline; } /* Options tab */ #gbg5 { font-size: 0; /* IE gear box height fix */ } /** * Updates padding from .gbts with top/bottom padding to center * the gear icon in the options menu tab. * Icon height (17px) + padding-top(5px) + padding-bottom(5px) = 27px. */ #gbgs5 { padding: 5px !important; /* See note with .gbts. */ } /* Open options tab */ .gbto #gbgs5 { padding: 7px 5px 6px !important; } /* Options icon */ #gbi5 { background: url(https://ssl.gstatic.com/gb/images/b_8d5afc09.png); _background: url(https://ssl.gstatic.com/gb/images/b8_3615d64d.png); /* IE6 and IE quirks. */ background-position: 0 0; display: block; font-size: 0; /* IE quirksmode fixes for height and positioning. */ height: 17px; width: 16px; } /** * The dark theme for Gmail uses a white icon for the options (gear) menu. * This won't show up on the open menu, which always has a white background, * so force the open menu to always use the blue gear icon. */ .gbto #gbi5 { background-position: -6px -22px; } /* Specialized links in the options menu (internal-only). */ .gbn .gbmt, .gbn .gbmt:visited, .gbnd .gbmt, .gbnd .gbmt:visited { /* The important annotation is used to override selectors with higher rank */ color: #dd8e27 !important; } /* Featured link in the options menu. */ .gbf .gbmt, .gbf .gbmt:visited { /* The important annotation is used to override selectors with higher rank */ color: #900 !important; } /** * Links and their hover styles in the nav bar, GAIA bar, and dropdown menus. * Setting text-decoration specifically for links where needed * which otherwise renders with an underline for FF/IE in the options menu. * Grouping classes together here to (try to) save file size. */ .gbmt, .gbml1, .gbmlb, .gbmt:visited, .gbml1:visited, .gbmlb:visited { color: #36c !important; text-decoration: none !important; /* Overrides property-side styles. */ } /** * List display property separately to fix b/5355428. * Note: providing the visited pseudo-class shouldn't be necessary * for the display property but provides parity before the bug fix. */ .gbmt, .gbmt:visited { display: block; } /* Inline menu items (used in the identity menu for links that share a line). */ .gbml1, .gbmlb, .gbml1:visited, .gbmlb:visited { display: inline-block; margin: 0 10px; } /* Completes the IE <= 7 inline-block hack, see note with .gbt */ .gbml1, .gbmlb, .gbml1:visited, .gbmlb:visited { *display: inline; } .gbml1, .gbml1:visited { padding: 0 10px; } .gbml1-hvr, .gbml1:focus { /* Since we apply nice focus backgrounding, we can remove the OS outline. */ outline: none; text-decoration: underline !important; } /* More simple styles for the "Learn more" link in the privacy bar. */ #gbpm .gbml1 { display: inline; margin: 0; padding: 0; white-space: nowrap; /* Don't split up the linked text. */ } .gbmlb, .gbmlb:visited { line-height: 27px; } .gbmlb-hvr, .gbmlb:focus { /* Since we apply nice focus backgrounding, we can remove the OS outline. */ outline: none; text-decoration: underline !important; } /* A wrapper for inline (link) items (in the identity menu). */ .gbmlbw { color: #ccc; margin: 0 10px; } /* Block-level items in the more menu, account switcher, and gear menu. */ .gbmt { padding: 0 20px; } .gbmt:hover, .gbmt:focus { background: #eee; /* IE6, IE7, and quirksmode fix for hovered child elements of anchors. */ cursor: pointer; /* Since we apply nice focus backgrounding, we can remove the OS outline. */ /* Note: We use 0 solid black instead of none here to kick Opera's renderer into correctly painting the left padding of the menu items. */ outline: 0 solid black; text-decoration: none !important; /* Overrides GWS, ES CSS settings. */ } /** * Styles selected links in "more" menu. * Need to target visted links to override .gbmt:visited. */ .gbm0l, .gbm0l:visited { color: #000 !important; /* Link colors are all set with !important */ font-weight: bold; } /* Generic dropdown menu styles (Most commonly found in the more menu). */ /* Horizontal divider in dropdown menus. */ .gbmh { border-top: 1px solid #bebebe; font-size: 0; margin: 10px 0; } /* Main identity menu background is gray. */ #gbd4 .gbmc { background: #f5f5f5; padding-top: 0; } /* Matches the account switcher inline scroller to the identity menu. */ #gbd4 .gbsbic::-webkit-scrollbar-track:vertical { background-color: #f5f5f5; margin-top: 2px; /* Prevents overlap with the box shadow. */ } /* Main profile has a white background. */ #gbmpdv { background: #fff; border-bottom: 1px solid #bebebe; -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, .12); -o-box-shadow: 0 2px 4px rgba(0, 0, 0, .12); -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, .12); box-shadow: 0 2px 4px rgba(0, 0, 0, .12); /* Keeps the box shadow on top of a hovered account. */ position: relative; z-index: 1; } /** * Allows the privacy bar in the identity menu to sit next to the horizontal * divider. */ #gbd4 .gbmh { margin: 0; } .gbmtc { padding: 0; margin: 0; line-height: 27px; /* Same spacing for "more" menu and nav bar links. */ } /** * Holy hack! This is here to fix an off-by-one bug in Opera. * This makes "space" to allow clicking the last item in our * dropdowns + a specific selector for the profile menu (which * has a different structure). * Note that the class name and ids below are in ALL CAPS, this * is because the bug in opera only occurs in quirksmode so we * use caps to take advantage of quirksmode's case-insensitive * nature to avoid these selectors from matching in standards mode. * Bug ID filed with Opera - CORE-36356. */ .GBMCC:last-child:after, #GBMPAL:last-child:after { /* height of content determines the clickable area of the previous item. */ content: '\0A\0A'; white-space: pre; position: absolute; } /* Identity menu dropdown. */ /** * IE7, prevents the scrollbars from taking up extra space when they are * not being shown, CSS also in scroll.bars.css on .gbsb. */ #gbmps { *zoom: 1; } /** * Override line-height from .gbt and .gbmtc in the identity menu for * multi-line items that should be grouped together: profile and account info. */ #gbd4 .gbpc, #gbmpas .gbmt { line-height: 17px; } /** * Authentication-related items in the multiple accounts section of the * account dropdown. These have less top/bottom space. * Use this combination of a larger line-height and less top/bottom padding * for the links to render correctly in IE <= 7 quirks (noticeable on hover). */ #gbd4 .gbpgs .gbmtc { line-height: 27px; } #gbd4 .gbmtc { border-bottom: 1px solid #bebebe; } /* Profile information in the account menu. */ /* Gets the profile text next to the photo. */ #gbd4 .gbpc { display: inline-block; margin: 16px 0 10px; /** * We must set the padding here, because Opera does not do margins correctly * in RTL. * * TODO(dcarlsson): Remove the extra right padding for views with * no profile photo after confirmation from @lider. */ padding-right: 50px; vertical-align: top; } /* Completes the IE <= 7 inline-block hack; see note with .gbt. */ #gbd4 .gbpc { *display: inline; } /* Primary span styles specific to the profile section of the account menu. */ .gbpc .gbps, .gbpc .gbps2 { display: block; /* Fix for b/5015379. */ margin: 0 20px; } /* Fix for the "Create profile" link horizontal spacing. */ #gbmplp.gbps { margin: 0 10px; } .gbpc .gbps { color: #000; font-weight: bold; } /* Unlinked name in the profile section, used for delegated accounts. */ .gbpc .gbpd { margin-bottom: 5px; } /** * Disabled item in multiple accounts section. */ .gbpd .gbmt, .gbpd .gbps { color: #666 !important; /* Overrides notation in .gbmt for links. */ } .gbpd .gbmt { opacity: .4; filter: alpha(opacity=40); /* Opacity for IE <= 8. */ } /* Secondary name and email in account menu and account switcher. */ .gbps2 { color: #666; display: block; } .gbp0 { display: none; } /* Bold when selected. */ .gbp0 .gbps2 { font-weight: bold; } /* Identity links. */ #gbd4 .gbmcc { margin-top: 5px; } /* Managed account notice. */ /** * Wrapping container for the managed account messaging to help with * IE <= 7 TABLE rendering bugs. Specifically, in standards mode, * IE <= 7 renders about 3px extra space below the TABLE. This becomes * much more visible with the colored background on the managed accounts * notice, so we wrap the entire TABLE in an enclosing DIV and put the * background color there. The spacing will still exist, but will be * much less visible. */ .gbpmc { background: #fef9db; } /** * Set spacing around the managed account notice on the content rather * than the wrapper so that IE in quirks correctly calculates the width * of the identity menu. */ .gbpmc .gbpmtc { padding: 10px 20px; } /** * Holds the messaging for managed accounts in the account menu. * (Replaces the privacy bar). * Note: This container is an ID because it needs to interact with JS, * styling is added to the same ID to save bytes and because the container * and its content is unique in the Google bar. * * TODO(dcarlsson): The container for the managed account notice is a TABLE * so that the text correctly line-wraps for IE quirks. Investigate a way * to render this content without a table and with correct line wrapping. */ #gbpm { border: 0; *border-collapse: collapse; border-spacing: 0; margin: 0; white-space: normal; } #gbpm .gbpmtc { border-top: none; color: #000 !important; /* Overrides notation in .gbmt. */ font: 11px Arial, sans-serif; } /** * Primary span in the managed account notice; displays the full privacy text * and the user's domain. Fix for IE <= 7 standards where the privacy bar * text doesn't extend the full width of the privacy bar. */ #gbpms { *white-space: nowrap; } /* Secondary span in the managed account notice, displays the user's domain. */ .gbpms2 { font-weight: bold; white-space: nowrap; } /* Sign out / Switch account (authentication) links */ #gbmpal { *border-collapse: collapse; border-spacing: 0; border: 0; /** * Accounts for frontends that have set table-specific CSS rules * (e.g. Latitude). */ margin: 0; white-space: nowrap; /* Prevents line wrap in quirksmode */ /* Allows the Sign out link to sit off the right edge of the menu. */ width: 100%; } .gbmpala, .gbmpalb { /** * Quirks mode renders TD fonts based on browser rather * than BODY font, so set the font explicitly. */ font: 13px Arial, sans-serif; line-height: 27px; /* Sets the right height for hover styles. */ padding: 10px 20px 0; white-space: nowrap; /* Prevents line wrap in quirksmode */ } .gbmpala { padding-left: 0; text-align: left; } .gbmpalb { padding-right: 0; text-align: right; } /* Names in the account switcher are black. */ #gbmpasb .gbps { color: #000; } #gbmpal .gbqfbb { margin: 0 20px; } /* Completes the IE <= 7 inline-block hack; see note with .gbt. */ .gbp0 .gbps { *display: inline; } /** * Top margin aligns the bottom of the (blue) Kennedy call-to-action * button with the bottom of the profile avatar (supported in ES2 and in JFK). * Note that the "a" is significant for specificity reasons. */ a.gbiba { margin: 8px 20px 10px; } /* Wrapper for avatars in the account switcher. */ .gbmpiaw { display: inline-block; /** * We must set the padding here, because Opera does not do margins correctly * in RTL */ padding-right: 10px; margin-bottom: 6px; margin-top: 10px; } .gbxv { visibility: hidden; } /* Anchor tag for the large avatar in the identity menu. */ .gbmpiaa { display: block; margin-top: 10px; } /* Avatar image and placeholder in the account switcher. */ .gbmpia { border: none; display: block; height: 48px; width: 48px; } /* Wraps the name info in the account switcher. */ .gbmpnw { display: inline-block; height: auto; /* Enables vertical aligning the text. */ margin: 10px 0; vertical-align: top; } /* IMPORTANT: Changes to this template need to be tested in all OneGoogle */ /* enabled frontends! Please pay special attention to Youtube. */ /** * CSS file to provide Kennedy buttons in the Google bar. * Designs at go/kennedyspec. * Author: dcarlsson@google.com (dave carlsson) * Author: divye@google.com (Divye Kapoor) */ /* Explanation of classes and ids... */ /** * .gbqfb - The blue Kennedy-UI button. * .gbqfba - The standard Kennedy-UI button (used on Search homepages). * .gbqfbb - The light standard Kennedy-UI button (white background). * .*-hvr - A JS-added class for hover styles. * .*-no-focus - A JS-added class for no focus styles. */ /* * TODO(dcarlsson): Add active style (red text) to the tradition buttons. * TODO(gws-ui): Add CSS3 transitions to hover styles for traditional * buttons. /* /* Styles shared across all Kennedy buttons. */ /** * Youtube has specific styles that are conditioned via params. * These styles apply to all 3 kinds of buttons in certain cases but it is * expected that Youtube will never show the standard Kennedy buttons since * they are used only by GWS to display the "Google Search" and * "I'm feeling lucky". Youtube specific search button styling is also present * in sandbar_search_form_youtube.css. */ .gbqfb, .gbqfba, .gbqfbb { -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; cursor: default !important; /* Overrides property-side styles. */ display: inline-block; /* The button should shrink-wrap its content. */ font-weight: bold; height: 29px; line-height: 29px; min-width: 54px; *min-width: 70px; padding: 0 8px; text-align: center; text-decoration: none !important; /* Overrides property-side styles. */ -moz-user-select: none; -webkit-user-select: none; } /* Focus. */ .gbqfb:focus, .gbqfba:focus, .gbqfbb:focus { border: 1px solid #4d90fe; -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5); -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5); outline: none; } /* Hover + focus. */ .gbqfb-hvr:focus, .gbqfba-hvr:focus, .gbqfbb-hvr:focus { -webkit-box-shadow: inset 0 0 0 1px #fff, 0 1px 1px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 0 0 1px #fff, 0 1px 1px rgba(0, 0, 0, 0.1); box-shadow: inset 0 0 0 1px #fff, 0 1px 1px rgba(0, 0, 0, 0.1); } /* Default: No focus. This is needed because Firefox and Opera give the button * focus when the user clicks on it while Chrome does not. Chrome's behavior is * what we want so we attach a no-focus class to deal with Firefox and Opera.*/ .gbqfb-no-focus:focus { border: 1px solid #3079ed; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; } /* Hover. */ .gbqfb-hvr, .gbqfba-hvr, .gbqfbb-hvr { -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); } /* Removes focus border from search buttons for FF3.6: b/5656845. */ .gbqfb::-moz-focus-inner, .gbqfba::-moz-focus-inner, .gbqfbb::-moz-focus-inner { border: 0; } /* Styles shared by the traditional buttons. */ .gbqfba, .gbqfbb { border: 1px solid #dcdcdc; border-color: rgba(0, 0, 0, 0.1); color: #444 !important; font-size: 11px; } /* Colors for the blue call-to-action button. */ .gbqfb { background-color: #4d90fe; background-image: -webkit-gradient( linear, left top, left bottom, from(#4d90fe), to(#4787ed)); background-image: -webkit-linear-gradient( top, #4d90fe, #4787ed); background-image: -moz-linear-gradient( top, #4d90fe, #4787ed); background-image: -ms-linear-gradient( top, #4d90fe, #4787ed); background-image: -o-linear-gradient( top, #4d90fe, #4787ed); background-image: linear-gradient( top, #4d90fe, #4787ed); filter: progid:DXImageTransform.Microsoft.gradient( startColorStr='#4d90fe', EndColorStr='#4787ed'); border: 1px solid #3079ed; /* Overrides property-side styles. */ color: #fff !important; margin: 0 0; /* Chrome user agent styles add 2px margins on buttons */ } /* Border colors on hover and hover+focus */ .gbqfb-hvr { border-color: #2f5bb7; } .gbqfb-hvr:focus { border-color: #2f5bb7; } /* The hovered button, overrides focus styles. */ .gbqfb-hvr, .gbqfb-hvr:focus { background-color: #357ae8; background-image: -webkit-gradient( linear, left top, left bottom, from(#4d90fe), to(#357ae8)); background-image: -webkit-linear-gradient( top, #4d90fe, #357ae8); background-image: -moz-linear-gradient( top, #4d90fe, #357ae8); background-image: -ms-linear-gradient( top, #4d90fe, #357ae8); background-image: -o-linear-gradient( top, #4d90fe, #357ae8); background-image: linear-gradient( top, #4d90fe, #357ae8); } /* Active. */ .gbqfb:active { background-color: inherit; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3); } /* Colors for the traditional button (Search homepage). */ .gbqfba { background-color: #f5f5f5; background-image: -webkit-gradient( linear, left top, left bottom, from(#f5f5f5), to(#f1f1f1)); background-image: -webkit-linear-gradient(top, #f5f5f5, #f1f1f1); background-image: -moz-linear-gradient(top, #f5f5f5, #f1f1f1); background-image: -ms-linear-gradient(top, #f5f5f5, #f1f1f1); background-image: -o-linear-gradient(top, #f5f5f5, #f1f1f1); background-image: linear-gradient(top, #f5f5f5, #f1f1f1); filter: progid:DXImageTransform.Microsoft.gradient( startColorStr='#f5f5f5', EndColorStr='#f1f1f1'); } .gbqfba-hvr, .gbqfba-hvr:active { background-color: #f8f8f8; background-image: -webkit-gradient( linear, left top, left bottom, from(#f8f8f8), to(#f1f1f1)); background-image: -webkit-linear-gradient(top, #f8f8f8, #f1f1f1); background-image: -moz-linear-gradient(top, #f8f8f8, #f1f1f1); background-image: -ms-linear-gradient(top, #f8f8f8, #f1f1f1); background-image: -o-linear-gradient(top, #f8f8f8, #f1f1f1); background-image: linear-gradient(top, #f8f8f8, #f1f1f1); filter: progid:DXImageTransform.Microsoft.gradient( startColorStr='#f8f8f8', EndColorStr='#f1f1f1'); } /* Colors for the light traditional button (white background). */ .gbqfbb { background-color: #fff; background-image: -webkit-gradient( linear, left top, left bottom, from(#fff), to(#fbfbfb)); background-image: -webkit-linear-gradient(top, #fff, #fbfbfb); background-image: -moz-linear-gradient(top, #fff, #fbfbfb); background-image: -ms-linear-gradient(top, #fff, #fbfbfb); background-image: -o-linear-gradient(top, #fff, #fbfbfb); background-image: linear-gradient(top, #fff, #fbfbfb); /* 6-digit hex code required for all IE browsers. */ filter: progid:DXImageTransform.Microsoft.gradient( startColorStr='#ffffff', EndColorStr='#fbfbfb'); } /* The hovered button. */ .gbqfbb-hvr, .gbqfbb-hvr:active { background-color: #fff; background-image: -webkit-gradient( linear, left top, left bottom, from(#fff), to(#f8f8f8)); background-image: -webkit-linear-gradient(top, #fff, #f8f8f8); background-image: -moz-linear-gradient(top, #fff, #f8f8f8); background-image: -ms-linear-gradient(top, #fff, #f8f8f8); background-image: -o-linear-gradient(top, #fff, #f8f8f8); background-image: linear-gradient(top, #fff, #f8f8f8); /* 6-digit hex code required for all IE browsers. */ filter: progid:DXImageTransform.Microsoft.gradient( startColorStr='#ffffff', EndColorStr='#f8f8f8'); } /* Hover and focus shared styles for the traditional buttons. */ .gbqfba-hvr, .gbqfba-hvr:active, .gbqfbb-hvr, .gbqfbb-hvr:active { border-color: #c6c6c6; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); color: #222 !important; } .gbqfba:active, .gbqfbb:active { -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } /* IMPORTANT: Changes to this template need to be tested in all OneGoogle */ /* enabled frontends! */ /* Copyright 2012 Google Inc. All Rights Reserved. */ /** * CSS file to provide styles to the callout promo. * Author: ericlevine@google.com (Eric Levine) */ /* Explanation of classes and ids... */ /** * #gbprc - Top-level promo callout element. * .gbprcd - Promo callout dropdown. * .gbprcb - Promo callout action button. * .gbprct - Promo callout text. * .gbprcx - Promo callout dismiss button. * #gbprca - Promo callout arrow wrapper. * #gbprcc - Promo callout content. * .gbprcts - Promo callout, share button target. * .gbprctp - Promo callout, profile picture target. * .gbprcti - Promo callout, sign-in target. * .gbprct - Promo callout, without caret. */ .gbprcd { padding: 0; width: 258px; white-space: normal; } .gbprcb { display: inline-block; height: 27px; padding: 0 15px; text-decoration: none; } #gbprc .gbprcbc { background-color: ; background-image: none; border-color: ; color: !important; } #gbprc .gbprcbc:hover { color: !important; } #gbprc .gbprcbc:active, #gbprc .gbprcbc:focus { color: !important; } .gbprct { color: #666; line-height: 17px; margin: 0; margin-bottom: 20px; } .gbprci { color: #333; font-size: 16px; line-height: 20px; margin: 0; margin-bottom: 16px; } /* We override the default gbmc padding here to align with the promo specs. */ #gbprc .gbmc { padding: 26px; padding-bottom: 22px; border: 1px solid #bebebe; } /* In the case of the promo callout, we remove the border so that we don't show double border with the .gbmc above. The reason we set the border on the .gbmc instead of the .gbm is for the shim iframe to not override the border (thus removing it) on IE8, where background-color: transparent is not supported. */ #gbprc .gbm { border: 0px; } #gbprc .gbprcx, #gbprc .gbprcx.gbgt-hvr, #gbprc .gbprcx:focus, #gbprc .gbprcx:active { right: 12px; background: url(//ssl.gstatic.com/s2/oz/images/stars/x.png); display: block; height: 9px; opacity: .8; filter: alpha(opacity=80); position: absolute; top: 12px; width: 9px; } #gbprc .gbprcx.gbgt-hvr, #gbprc .gbprcx:focus, #gbprc .gbprcx:active { opacity: 1; filter: alpha(opacity=100); } /* Dropdown menu arrow indicator for the signin widget. These are not available in any other form, so we have to declare it ourselves. */ /* The top position of the arrow border in elastic large mode. */ .gbgs .gbmab, .gbgs .gbmab { left: 10px; margin: 40px 0 0; } /* The top position of the arrow cutout in elastic large mode. */ .gbgs .gbmac, .gbgs .gbmac { left: 10px; margin: 41px 0 0; } /* The top position of the app menu arrow border in elastic medium mode. */ .gbemi .gbgs .gbmab, .gbem .gbgs .gbmab { left: 10px; margin: 40px 0 0; } /* The top position of the app menu arrow cutout in elastic medium mode. */ .gbemi .gbgs .gbmac, .gbem .gbgs .gbmac { left: 10px; margin: 41px 0 0; } /* The top position of the app menu arrow border in elastic small mode. */ .gbesi .gbgs .gbmab, .gbes .gbgs .gbmab { left: 10px; margin: 40px 0 0; } /* The top position of the app menu arrow cutout in elastic small mode. */ .gbesi .gbgs .gbmac, .gbes .gbgs .gbmac { left: 10px; margin: 41px 0 0; } /* Set the border to be the right z-index, to be behind any of the normal menus arrows (which are 1000). */ #gbprca .gbmab { z-index: 999; } /* In profile target, there is CSS that sets the border to yellow. We need to override this so the arrow shows as white. Also set the cutout to be the right z-index, to be behind any of the normal menus arrows (which are 1000). */ #gbprca .gbmac { border-bottom-color: white; z-index: 999; } /* Style for the shim for the callout promo. */ #gbprcs { position: absolute; background: transparent; top: -999px; z-index: -1; visibility: hidden; margin-top: 1px; margin-left: 1px; } /* IMPORTANT: Changes to this template need to be tested in all OneGoogle */ /* enabled frontends! */ /* Copyright 2012 Google Inc. All Rights Reserved. */ /** * CSS file to provide styles to the callout promo that are specific to the * Sandbar variants of the OneGoogle bar (elastic-enabled). * Author: ericlevine@google.com (Eric Levine) */ #gb #gbprc { right: -28px; top: 15px; z-index: 997; } #gbprca { left: -63px; position: relative; top: -22px; } /** * Arrow indicators shamelessly copied from Kennedy CSS. */ .gbmab, .gbmac { left: 5px; /* Half the border width. */ border-style: dashed dashed solid; border-color: transparent; border-bottom-color: #bebebe; border-width: 0 10px 10px; display: -moz-inline-box; /* Ignored by FF3 and later. */ display: inline-block; font-size: 0; /* For IE in quirksmode */ height: 0; line-height: 0; position: absolute; top: 0; /* Fixes b/5456404, Firefox vertical alignment. */ width: 0; /* .gbm +1 to sit on top of the dropdown menu borders. */ z-index: 1000; } .gbmab, .gbmac { visibility: hidden; } /** * The background color of the arrow indicator, matches the background of the * dropdown menu. */ .gbmac { border-bottom-color: #fff; } /* Show the dropdown menu arrows when the menu is open. */ .gbto .gbmab, .gbto .gbmac { visibility: visible; } /* Pretty blue button shamelessly copied from Kennedy CSS. */ #gbqfqw, #gbqfb { vertical-align: top; } /* Wrapper for the form submit button. */ #gbqfbw { right: 0; margin: 0 15px; position: absolute; top: 0; } /* JFK styles for the search form input and submit button. */ /* The submit button. */ .gbqfb { background-color: #4d90fe; background-image: -webkit-gradient(linear,left top,left bottom,from(#4d90fe),to(#4787ed)); background-image: -webkit-linear-gradient(top,#4d90fe,#4787ed); background-image: -moz-linear-gradient(top,#4d90fe,#4787ed); background-image: -ms-linear-gradient(top,#4d90fe,#4787ed); background-image: -o-linear-gradient(top,#4d90fe,#4787ed); background-image: linear-gradient(top,#4d90fe,#4787ed); filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#4d90fe',EndColorStr='#4787ed'); border: 1px solid #3079ed; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; -moz-user-select: none; -webkit-user-select: none; color: #fff; cursor: default; /* Also vertically-aligns the search icon in the blue button. */ font-size: 11px; /** * No-op after b/5392217 but provides future-proofing for putting * text in the blue search button instead of an icon. */ font-weight: bold; height: 29px; min-width: 54px; *min-width: 70px; text-align: center; padding: 0 8px; } /* The hovered submit button. */ .gbqfb-hvr { border: 1px solid #2f5bb7; background-color: #357ae8; background-image: -webkit-gradient(linear,left top,left bottom,from(#4d90fe),to(#357ae8)); background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8); background-image: -moz-linear-gradient(top,#4d90fe,#357ae8); background-image: -ms-linear-gradient(top,#4d90fe,#357ae8); background-image: -o-linear-gradient(top,#4d90fe,#357ae8); background-image: linear-gradient(top,#4d90fe,#357ae8); -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.1); -moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.1); box-shadow: 0px 1px 1px rgba(0,0,0,0.1); } .gbqfb:focus { -moz-box-shadow: inset 0 0 0 1px #fff; -webkit-box-shadow: inset 0 0 0 1px #fff; box-shadow: inset 0 0 0 1px #fff; outline: none; } /* Removes focus border from search buttons for FF3.6: b/5656845. */ .gbqfb::-moz-focus-inner { border: 0; } .gbqfb-hvr:focus { -moz-box-shadow: inset 0 0 0 1px #fff, 0px 1px 1px rgba(0,0,0,0.1); -webkit-box-shadow: inset 0 0 0 1px #fff, 0px 1px 1px rgba(0,0,0,0.1); box-shadow: inset 0 0 0 1px #fff, 0px 1px 1px rgba(0,0,0,0.1); } .gbqfb:active { -moz-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.3); -webkit-box-shadow: inset 0px 1px 2px rgba(0,0,0,0.3); box-shadow: inset 0px 1px 2px rgba(0,0,0,0.3); } /* IMPORTANT: Changes to this template need to be tested in all */ /* OneGoogle enabled frontends! */ /** * Copyright 2012 Google Inc. All rights reserved. * * Author: Divye Kapoor (divye@google.com) * * CSS styles for scrollbars. */ /** * Expected DOM structure for triggering correct scrollbar behavior is: * <div class="gbsb gbsbis"> * <div class="gbsbic"></div> * <div class="gbsbt"></div> * <div class="gbsbb"></div> * </div> * */ /** * Explanation of classes used in this file. * .gbsb - The scrollbar bounding box. * .gbsbis - The inline-scroller style for the scrollbar. Apply with .gbsb * .gbsbic - The inner content div for a scrollbar styled element. * .gbsbt - Shadow on the top of the scrollbar bounding box. * .gbsbb - Shadow on the bottom of the scrollbar bounding box. * * #gbmpas - Div for the account switcher. * #gbmm - Contents of the more menu. */ /** * The Account Switcher should trigger scrollbars when the number of accounts * exceeds 4. For the special case of G+, the maxHeight is adjusted to allow * for another link to be added to the bottom of this list without triggering * the scrollbars. */ #gbmpas { max-height: 220px; } /** * The More Menu should trigger scrollbars when the number of entries exceeds * a certain page size. This CSS supplies a default max-height so that if * the more menu is triggered before the scrollbar classes load in the * deferred bundle, the default scrollbars will show up. This max-height * will be overridden in deferred JS based on the size of the page. This is * a loose bound. Addition of Kennedy links will require this limit to change. */ #gbmm { max-height: 530px; } /** * The scrollbar bounding box. This is the div that provides the context within * which scrollbars will be rendered. It needs a position: relative context * and block style display. */ .gbsb { /** * We need the box-sizing rule in the CSS so that our drop shadow overlay * attaches correctly in the space occupied by the border of the scrolling box * if present (in non-inline style mode) and the border effects applied in the * drop shadow elements appear inside the border of the scroll bounding box. */ -webkit-box-sizing: border-box; display: block; /* The specific div can also use inline-block if it suits. */ position: relative; /** * IE7, prevents the scrollbars from taking up extra space when they are * not being shown. */ *zoom: 1; } /** * The inner content's overflow style should be set to auto to allow the * contents inside it to scroll. */ .gbsbic { overflow: auto; } /** * Common styles for the top and bottom drop shadows. */ .gbsbis .gbsbt, .gbsbis .gbsbb { /* Creates the beautiful thin-thick-thin style of the drop shadow. */ -webkit-mask-box-image: -webkit-gradient(linear, left top, right top, color-stop(0.0, rgba(0,0,0,0.1)), color-stop(0.5, rgba(0,0,0,.8)), color-stop(1.0, rgba(0,0,0,0.1))); left: 0; margin-right: 0; opacity: 0; position: absolute; width: 100%; } /** * Common styles for the CSS3 pseudo elements added after the drop * shadow DOM elements. */ .gbsb .gbsbt:after, .gbsb .gbsbb:after { content: ""; display: block; height: 0; left: 0; position: absolute; width: 100%; } /** * A shadow that needs to be applied to the top of the scroll bounding box. * This class' opacity needs to be controlled by JS to be applied only when * necessary. */ .gbsbis .gbsbt { background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .2)), to(rgba(0, 0, 0, 0))); background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); background-image: linear-gradient(top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); height: 6px; top: 0; } /** * A CSS3 pseudo element that supplies a top border to the scroll bounding box * to indicate that more content can be read by scrolling upwards. */ .gbsb .gbsbt:after { border-top: 1px solid #ebebeb; /*For IE*/ border-color: rgba(0, 0, 0, 0.3); top: 0; } /** * A shadow that needs to be applied to the bottom of the scroll bounding box * when there is more content left to be seen. The opacity of this shadow needs * to be controlled by JS. The shadow should disappear when the scroll bar hits * the bottom of the containing div. */ .gbsb .gbsbb { -webkit-mask-box-image: -webkit-gradient(linear, left top, right top, color-stop(0.0, rgba(0, 0, 0, 0.1)), color-stop(0.5, rgba(0, 0, 0, .8)), color-stop(1.0, rgba(0, 0, 0, 0.1))); background: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,.2)), to(rgba(0,0,0,0))); background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.2), rgba(0,0,0,0)); background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); background-image: -ms-linear-gradient(bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); background-image: linear-gradient(bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); bottom: 0; height: 4px; } /** * A CSS3 pseudo element that provides a bottom border to indicate that there's * more content in the div that can be read by scrolling. */ .gbsb .gbsbb:after { border-bottom: 1px solid #ebebeb; /*For IE*/ border-color: rgba(0, 0, 0, 0.3); bottom: 0; } </style><style>body,td,a,p,.h{font-family:sans-serif}body{background:#fff;color:#1f1f1f;margin:0}#gog{padding:3px 10px 0}td{line-height:.8em}.gac_m td{line-height:17px}form{margin-bottom:20px}.h{color:#1967d2}.lst{height:25px}.lst{margin-bottom:.2em;padding:4px 5px 0 5px;vertical-align:bottom;width:496px;font:17px sans-serif}.lst:focus{outline:none}.lsb{border:1px solid;border-color:#d2d2d2 #70757a #70757a #d2d2d2;height:1.85em !important;font:15px sans-serif;vertical-align:top}.lsb:active{background:#dadce0}em{color:#c5221f;font-style:normal;font-weight:normal}a em{text-decoration:underline}input{font-family:inherit}a{color:#681da8;text-decoration:none}a:hover,a:active{text-decoration:underline}.fl a{color:#1967d2}a:visited{color:#681da8}td.fl a{font-size:11px}</style><script nonce="BO52mCWMX6LaUH79jiWYKQ">(function(){try{/* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0 */ var e=this||self;var aa=function(a,b,c,d){d=d||{};d._sn=["cfg",b,c].join(".");window.gbar.logger.ml(a,d)};var f=window.gbar=window.gbar||{},h=window.gbar.i=window.gbar.i||{},da;function _tvn(a,b){a=parseInt(a,10);return isNaN(a)?b:a}function _tvf(a,b){a=parseFloat(a);return isNaN(a)?b:a}function _tvv(a){return!!a}function n(a,b,c){(c||f)[a]=b}f.bv={n:_tvn("2",0),r:"",f:".66.",e:"",m:_tvn("1",1)}; function ea(a,b,c){var d="on"+b;if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent(d,c);else{var g=a[d];a[d]=function(){var k=g.apply(this,arguments),m=c.apply(this,arguments);return k==void 0?m:m==void 0?k:m&&k}}}var fa=function(a){return function(){return f.bv.m==a}},ha=fa(1),ia=fa(2);n("sb",ha);n("kn",ia);h.a=_tvv;h.b=_tvf;h.c=_tvn;h.i=aa;var q=window.gbar.i.i;var r=function(){},u=function(){},la=function(a){var b=new Image,c=ja;b.onerror=b.onload=b.onabort=function(){try{delete ka[c]}catch(d){}};ka[c]=b;b.src=a;ja=c+1},ka=[],ja=0;n("logger",{il:u,ml:r,log:la});var v=window.gbar.logger;var w={},x={createScript:function(a){return a}};x=self.trustedTypes&&self.trustedTypes.createPolicy?self.trustedTypes.createPolicy("ogb#inline",x):x; var ma={},y=[],na=h.b("0.1",.1),oa=h.a("1",!0),pa=function(a,b){y.push([a,b])},qa=function(a,b){w[a]=b},ra=function(a){return a in w},z={},A=function(a,b){z[a]||(z[a]=[]);z[a].push(b)},B=function(a){A("m",a)},C=function(a,b){var c=document.createElement("script");c.src=x.createScript(a);c.async=oa;Math.random()<na&&(c.onerror=function(){c.onerror=null;r(Error("Bundle load failed: name="+(b||"UNK")+" url="+a))});(document.getElementById("xjsc")|| document.getElementsByTagName("body")[0]||document.getElementsByTagName("head")[0]).appendChild(c)},F=function(a){for(var b,c=0;(b=y[c])&&b[0]!=a;++c);!b||b[1].l||b[1].s||(b[1].s=!0,D(2,a),b[1].url&&C(b[1].url,a),b[1].libs&&E&&E(b[1].libs))},sa=function(a){A("gc",a)},G=null,ta=function(a){G=a},D=function(a,b,c){if(G){a={t:a,b:b};if(c)for(var d in c)a[d]=c[d];try{G(a)}catch(g){}}};n("mdc",w);n("mdi",ma);n("bnc",y);n("qGC",sa);n("qm",B);n("qd",z);n("lb",F);n("mcf",qa);n("bcf",pa);n("aq",A); n("mdd","");n("has",ra);n("trh",ta);n("tev",D);if(h.a("m;/_/scs/abc-static/_/js/k=gapi.gapi.en.drdv2eaOuoE.O/d=1/rs=AHpOoo9QpDB4BZxPNyi-IhgNVED-jgfZ-w/m=__features__")){var H=function(a,b){return ua?a||b:b},I=h.a("1"),va=h.a(""),wa=h.a(""),ua=h.a(""),J=window.gapi=H(window.gapi,{}),K=function(a,b){var c=function(){f.dgl(a,b)};I?B(c):(A("gl",c),F("gl"))},xa={},ya=function(a){a=a.split(":");for(var b;(b=a.pop())&&xa[b];);return!b},E=function(a){function b(){for(var c=a.split(":"),d,g=0;d=c[g];++g)xa[d]=1;for(c=0;d=y[c];++c)d=d[1],(g=d.libs)&&!d.l&&d.i&&ya(g)&& d.i()}f.dgl(a,b)},L=window.___jsl=H(window.___jsl,{});L.h=H(L.h,"m;/_/scs/abc-static/_/js/k=gapi.gapi.en.drdv2eaOuoE.O/d=1/rs=AHpOoo9QpDB4BZxPNyi-IhgNVED-jgfZ-w/m=__features__");L.ms=H(L.ms,"https://apis.google.com");L.m=H(L.m,"");L.l=H(L.l,[]);L.dpo=H(L.dpo,"");I||y.push(["gl",{url:"//ssl.gstatic.com/gb/js/abc/glm_e7bb39a7e1a24581ff4f8d199678b1b9.js"}]);var za={pu:va,sh:"",si:wa,hl:"zh-TW"};w.gl=za;ua?J.load||n("load",K,J):n("load",K,J);n("dgl",K);n("agl",ya);h.o=I};var Aa=h.b("0.1",.001),Ba=0; function _mlToken(a,b){try{if(Ba<1){Ba++;var c=a;b=b||{};var d=encodeURIComponent,g=["//www.google.com/gen_204?atyp=i&zx=",(new Date).getTime(),"&jexpid=",d("28834"),"&srcpg=",d("prop=1"),"&jsr=",Math.round(1/Aa),"&ogev=",d("zjK1afu4OdOJ1e8P076iiAE"),"&ogf=",f.bv.f,"&ogrp=",d(""),"&ogv=",d("880583860.0"),"&oggv="+d("es_plusone_gc_20260209.0_p0"),"&ogd=",d("com"),"&ogc=",d("TWN"),"&ogl=",d("zh-TW")];b._sn&&(b._sn= "og."+b._sn);for(var k in b)g.push("&"),g.push(d(k)),g.push("="),g.push(d(b[k]));g.push("&emsg=");g.push(d(c.name+":"+c.message));var m=g.join("");Ca(m)&&(m=m.substr(0,2E3));var p=m;var l=window.gbar.logger._aem(a,p);la(l)}}catch(t){}}var Ca=function(a){return a.length>=2E3},Ga=function(a,b){return b};function Ja(a){r=a;n("_itl",Ca,v);n("_aem",Ga,v);n("ml",r,v);a={};w.er=a}h.a("")?Ja(function(a){throw a;}):h.a("1")&&Math.random()<Aa&&Ja(_mlToken);var _E="left",Ka=h.a(""),La=h.a(""),N=function(a,b){var c=a.className;M(a,b)||(a.className+=(c!=""?" ":"")+b)},O=function(a,b){var c=a.className;b=new RegExp("\\s?\\b"+b+"\\b");c&&c.match(b)&&(a.className=c.replace(b,""))},M=function(a,b){b=new RegExp("\\b"+b+"\\b");a=a.className;return!(!a||!a.match(b))},Ma=function(a,b){M(a,b)?O(a,b):N(a,b)},Na=function(a,b){a[b]=function(c){var d=arguments;f.qm(function(){a[b].apply(this,d)})}},Oa=function(a){a= [La?"":"https://www.gstatic.com","/og/_/js/d=1/k=","og.og.en_US.F2kOYbtcDUY.es5.O","/rt=j/m=",a,"/rs=","AA2YrTvwEEKYFRtaiPLIc66N_lgkDocSDw"];Ka&&a.push("?host=www.gstatic.com&bust=og.og.en_US.BtOHNUn78vg.es5.DU");a=a.join("");C(a)};n("ca",N);n("cr",O);n("cc",M);h.k=N;h.l=O;h.m=M;h.n=Ma;h.p=Oa;h.q=Na;var Pa=["gb_71","gb_155"],Qa;function Ra(a){Qa=a}function Sa(a){var b=Qa&&!a.href.match(/.*\/accounts\/ClearSID[?]/)&&encodeURIComponent(Qa());b&&(a.href=a.href.replace(/([?&]continue=)[^&]*/,"$1"+b))}function Ta(a){window.gApplication&&(a.href=window.gApplication.getTabUrl(a.href))}function Ua(a){try{var b=(document.forms[0].q||"").value;b&&(a.href=a.href.replace(/([?&])q=[^&]*|$/,function(c,d){return(d||"&")+"q="+encodeURIComponent(b)}))}catch(c){q(c,"sb","pq")}} var Va=function(){for(var a=[],b,c=0;b=Pa[c];++c)(b=document.getElementById(b))&&a.push(b);return a},Wa=function(){var a=Va();return a.length>0?a[0]:null},Xa=function(){return document.getElementById("gb_70")},P={},Q={},Ya={},R={},S=void 0,cb=function(a,b){try{var c=document.getElementById("gb");N(c,"gbpdjs");T();Za(document.getElementById("gb"))&&N(c,"gbrtl");if(b&&b.getAttribute){var d=b.getAttribute("aria-owns");if(d.length){var g=document.getElementById(d);if(g){var k=b.parentNode;if(S==d)S=void 0, O(k,"gbto");else{if(S){var m=document.getElementById(S);if(m&&m.getAttribute){var p=m.getAttribute("aria-owner");if(p.length){var l=document.getElementById(p);l&&l.parentNode&&O(l.parentNode,"gbto")}}}$a(g)&&ab(g);S=d;N(k,"gbto")}}}}B(function(){f.tg(a,b,!0)});bb(a)}catch(t){q(t,"sb","tg")}},db=function(a){B(function(){f.close(a)})},eb=function(a){B(function(){f.rdd(a)})},Za=function(a){var b,c=document.defaultView;c&&c.getComputedStyle?(a=c.getComputedStyle(a,""))&&(b=a.direction):b=a.currentStyle? a.currentStyle.direction:a.style.direction;return b=="rtl"},gb=function(a,b,c){if(a)try{var d=document.getElementById("gbd5");if(d){var g=d.firstChild,k=g.firstChild,m=document.createElement("li");m.className=b+" gbmtc";m.id=c;a.className="gbmt";m.appendChild(a);if(k.hasChildNodes()){c=[["gbkc"],["gbf","gbe","gbn"],["gbkp"],["gbnd"]];d=0;var p=k.childNodes.length;g=!1;for(var l=-1,t,Da=0;t=c[Da];Da++){for(var ba=void 0,Ea=0;ba=t[Ea];Ea++){for(;d<p&&M(k.childNodes[d],ba);)d++;if(ba==b){k.insertBefore(m, k.childNodes[d]||null);g=!0;break}}if(g){if(d+1<k.childNodes.length){var Fa=k.childNodes[d+1];M(Fa.firstChild,"gbmh")||fb(Fa,t)||(l=d+1)}else if(d-1>=0){var Ha=k.childNodes[d-1];M(Ha.firstChild,"gbmh")||fb(Ha,t)||(l=d)}break}d>0&&d+1<p&&d++}if(l>=0){var ca=document.createElement("li"),Ia=document.createElement("div");ca.className="gbmtc";Ia.className="gbmt gbmh";ca.appendChild(Ia);k.insertBefore(ca,k.childNodes[l])}f.addHover&&f.addHover(a)}else k.appendChild(m)}}catch(ub){q(ub,"sb","al")}},fb=function(a, b){for(var c=b.length,d=0;d<c;d++)if(M(a,b[d]))return!0;return!1},hb=function(a,b,c){gb(a,b,c)},ib=function(a,b){gb(a,"gbe",b)},jb=function(){B(function(){f.pcm&&f.pcm()})},kb=function(){B(function(){f.pca&&f.pca()})},lb=function(a,b,c,d,g,k,m,p,l,t){B(function(){f.paa&&f.paa(a,b,c,d,g,k,m,p,l,t)})},mb=function(a,b){P[a]||(P[a]=[]);P[a].push(b)},nb=function(a,b){Q[a]||(Q[a]=[]);Q[a].push(b)},ob=function(a,b){Ya[a]=b},pb=function(a,b){R[a]||(R[a]=[]);R[a].push(b)},bb=function(a){a.preventDefault&& a.preventDefault();a.returnValue=!1;a.cancelBubble=!0},qb=null,ab=function(a,b){T();if(a){rb(a,"&#38283;&#21855;&hellip;");U(a,!0);b=typeof b!="undefined"?b:1E4;var c=function(){sb(a)};qb=window.setTimeout(c,b)}},tb=function(a){T();a&&(U(a,!1),rb(a,""))},sb=function(a){try{T();var b=a||document.getElementById(S);b&&(rb(b,"&#26412;&#26381;&#21209;&#30446;&#21069;&#28961;&#27861;&#20351;&#29992;&#12290;%1$s&#35531;&#31245;&#20505;&#20877;&#35430;&#19968;&#27425;&#12290;","%1$s"),U(b,!0))}catch(c){q(c,"sb","sdhe")}},rb=function(a,b,c){if(a&&b){var d=$a(a);if(d){if(c){d.textContent="";b=b.split(c);for(var g=0;c= b[g];g++){var k=document.createElement("div");k.innerHTML=c;d.appendChild(k)}}else d.innerHTML=b;U(a,!0)}}},U=function(a,b){(b=b!==void 0?b:!0)?N(a,"gbmsgo"):O(a,"gbmsgo")},$a=function(a){for(var b,c=0;b=a.childNodes[c];c++)if(M(b,"gbmsg"))return b},T=function(){qb&&window.clearTimeout(qb)},vb=function(a){var b="inner"+a;a="offset"+a;return window[b]?window[b]:document.documentElement&&document.documentElement[a]?document.documentElement[a]:0},wb=function(){return!1},xb=function(){return!!S}; n("so",Wa);n("sos",Va);n("si",Xa);n("tg",cb);n("close",db);n("rdd",eb);n("addLink",hb);n("addExtraLink",ib);n("pcm",jb);n("pca",kb);n("paa",lb);n("ddld",ab);n("ddrd",tb);n("dderr",sb);n("rtl",Za);n("op",xb);n("bh",P);n("abh",mb);n("dh",Q);n("adh",nb);n("ch",R);n("ach",pb);n("eh",Ya);n("aeh",ob);da=h.a("")?Ta:Ua;n("qs",da);n("setContinueCb",Ra);n("pc",Sa);n("bsy",wb);h.d=bb;h.j=vb;var yb={};w.base=yb;y.push(["m",{url:"//ssl.gstatic.com/gb/js/sem_d0e032a5a61fb361e9fc557865dfbada.js"}]);f.sg={c:"1"};n("wg",{rg:{}});var zb={tiw:h.c("15000",0),tie:h.c("30000",0)};w.wg=zb;var Ab={thi:h.c("10000",0),thp:h.c("180000",0),tho:h.c("5000",0),tet:h.b("0.5",0)};w.wm=Ab;if(h.a("1")){var Bb=h.a("");y.push(["gc",{auto:Bb,url:"//ssl.gstatic.com/gb/js/abc/gci_91f30755d6a6b787dcc2a4062e6e9824.js",libs:"googleapis.client:gapi.iframes"}]);var Cb={version:"gci_91f30755d6a6b787dcc2a4062e6e9824.js",index:"",lang:"zh-TW"};w.gc=Cb;var Db=function(a){window.googleapis&&window.iframes?a&&a():(a&&sa(a),F("gc"))};n("lGC",Db);h.a("1")&&n("lPWF",Db)};window.__PVT="";function Eb(){}u=Eb;n("il",u,v);var Fb={};w.il=Fb;var Gb=function(a,b,c,d,g,k,m,p,l,t){B(function(){f.paa(a,b,c,d,g,k,m,p,l,t)})},Hb=function(){B(function(){f.prm()})},Ib=function(a){B(function(){f.spn(a)})},Jb=function(a){B(function(){f.sps(a)})},Kb=function(a){B(function(){f.spp(a)})},Lb={"27":"https://lh3.googleusercontent.com/ogw/default-user=s24","27":"https://lh3.googleusercontent.com/ogw/default-user=s24","27":"https://lh3.googleusercontent.com/ogw/default-user=s24"},Mb=function(a){return(a=Lb[a])||"https://lh3.googleusercontent.com/ogw/default-user=s24"}, Nb=function(){B(function(){f.spd()})};n("spn",Ib);n("spp",Kb);n("sps",Jb);n("spd",Nb);n("paa",Gb);n("prm",Hb);mb("gbd4",Hb); if(h.a("")){var Ob={d:h.a(""),e:"",sanw:h.a(""),p:"https://lh3.googleusercontent.com/ogw/default-user=s96",cp:"1",xp:h.a("1"),mg:"%1$s (&#24050;&#22996;&#27966;)",md:"%1$s (&#38928;&#35373;)",mh:"220",s:"1",pp:Mb,ppl:h.a(""),ppa:h.a(""), ppm:"Google+&#23560;&#38913;"};w.prf=Ob};var V,Pb,W,Qb,X=0,Rb=function(a,b,c){if(a.indexOf)return a.indexOf(b,c);if(Array.indexOf)return Array.indexOf(a,b,c);for(c=c==null?0:c<0?Math.max(0,a.length+c):c;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},Y=function(a,b){return Rb(a,X)==-1?(q(Error(X+"_"+b),"up","caa"),!1):!0},Tb=function(a,b){Y([1,2],"r")&&(V[a]=V[a]||[],V[a].push(b),X==2&&window.setTimeout(function(){b(Sb(a))},0))},Ub=function(a,b,c){if(Y([1],"nap")&&c){for(var d=0;d<c.length;d++)Pb[c[d]]=!0;f.up.spl(a,b,"nap",c)}},Vb= function(a,b,c){if(Y([1],"aop")&&c){if(W)for(var d in W)W[d]=W[d]&&Rb(c,d)!=-1;else for(W={},d=0;d<c.length;d++)W[c[d]]=!0;f.up.spl(a,b,"aop",c)}},Wb=function(){try{if(X=2,!Qb){Qb=!0;for(var a in V)for(var b=V[a],c=0;c<b.length;c++)try{b[c](Sb(a))}catch(d){q(d,"up","tp")}}}catch(d){q(d,"up","mtp")}},Sb=function(a){if(Y([2],"ssp")){var b=!Pb[a];W&&(b=b&&!!W[a]);return b}};Qb=!1;V={};Pb={};W=null;X=1; var Xb=function(a){var b=!1;try{b=a.cookie&&a.cookie.match("PREF")}catch(c){}return!b},Yb=function(){try{return!!e.localStorage&&typeof e.localStorage=="object"}catch(a){return!1}},Zb=function(a){return a&&a.style&&a.style.behavior&&typeof a.load!="undefined"},$b=function(a,b,c,d){try{Xb(document)||(d||(b="og-up-"+b),Yb()?e.localStorage.setItem(b,c):Zb(a)&&(a.setAttribute(b,c),a.save(a.id)))}catch(g){g.code!=DOMException.QUOTA_EXCEEDED_ERR&&q(g,"up","spd")}},ac=function(a,b,c){try{if(Xb(document))return""; c||(b="og-up-"+b);if(Yb())return e.localStorage.getItem(b);if(Zb(a))return a.load(a.id),a.getAttribute(b)}catch(d){d.code!=DOMException.QUOTA_EXCEEDED_ERR&&q(d,"up","gpd")}return""},bc=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c)},cc=function(a){for(var b,c=0;b=a[c];c++){var d=f.up;b=b in d&&d[b];if(!b)return!1}return!0},dc=function(a,b){try{if(Xb(a))return-1;var c=a.cookie.match(/OGPC=([^;]*)/);if(c&&c[1]){var d=c[1].match(new RegExp("\\b"+ b+"-([0-9]+):"));if(d&&d[1])return parseInt(d[1],10)}}catch(g){g.code!=DOMException.QUOTA_EXCEEDED_ERR&&q(g,"up","gcc")}return-1};n("up",{r:Tb,nap:Ub,aop:Vb,tp:Wb,ssp:Sb,spd:$b,gpd:ac,aeh:bc,aal:cc,gcc:dc});var Z=function(a,b){a[b]=function(c){var d=arguments;f.qm(function(){a[b].apply(this,d)})}};Z(f.up,"sl");Z(f.up,"si");Z(f.up,"spl");Z(f.up,"dpc");Z(f.up,"iic");f.mcf("up",{sp:h.b("0.01",1),tld:"com.tw",prid:"1"});function ec(){function a(){for(var l;(l=k[m++])&&l[0]!="m"&&!l[1].auto;);l&&(D(2,l[0]),l[1].url&&C(l[1].url,l[0]),l[1].libs&&E&&E(l[1].libs));m<k.length&&setTimeout(a,0)}function b(){g-- >0?setTimeout(b,0):a()}var c=h.a("1"),d=h.a(""),g=3,k=y,m=0,p=window.gbarOnReady;if(p)try{p()}catch(l){q(l,"ml","or")}d?n("ldb",a):c?ea(window,"load",b):b()}n("rdl",ec);}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})(); (function(){try{var b=window.gbar.i.i;var c=window.gbar;var f=function(d){try{var a=document.getElementById("gbom");a&&d.appendChild(a.cloneNode(!0))}catch(e){b(e,"omas","aomc")}};c.aomc=f;}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})(); (function(){try{var a=window.gbar;a.mcf("pm",{p:"19046273,Sce,7,,"});}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})(); (function(){try{var a=window.gbar;a.mcf("mm",{s:"1"});}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})(); (function(){try{var d=window.gbar.i.i;var e=window.gbar;var f=e.i;var g=f.c("1",0),h=/\bgbmt\b/,k=function(a){try{var b=document.getElementById("gb_"+g),c=document.getElementById("gb_"+a);b&&f.l(b,h.test(b.className)?"gbm0l":"gbz0l");c&&f.k(c,h.test(c.className)?"gbm0l":"gbz0l")}catch(l){d(l,"sj","ssp")}g=a},m=e.qs,n=function(a){var b=a.href;var c=window.location.href.match(/.*?:\/\/[^\/]*/)[0];c=new RegExp("^"+c+"/search\\?");(b=c.test(b))&&!/(^|\\?|&)ei=/.test(a.href)&&(b=window.google)&&b.kEXPI&&(a.href+="&ei="+b.kEI)},p=function(a){m(a); n(a)},q=function(){if(window.google&&window.google.sn){var a=/.*hp$/;return a.test(window.google.sn)?"":"1"}return"-1"};e.rp=q;e.slp=k;e.qs=p;e.qsi=n;}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})(); (function(){try{/* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0 */ var a=this||self;var b=window.gbar;var c=b.i;for(var d=c.a,e=c.c,f={cty:"TWN",cv:"880583860",dbg:d(""),ecv:"0",ei:e("zjK1afu4OdOJ1e8P076iiAE"),ele:d("1"),esr:e("0.1"),evts:["mousedown","touchstart","touchmove","wheel","keydown"],gbl:"es_plusone_gc_20260209.0_p0",hd:"com",hl:"zh-TW",irp:d(""),pid:e("1"), snid:e("28834"),to:e("300000"),u:e(""),vf:".66."},g=["bndcfg"],h=a,k;g.length&&(k=g.shift());)g.length||f===void 0?h=h[k]&&h[k]!==Object.prototype[k]?h[k]:h[k]={}:h[k]=f;}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})(); (function(){try{window.gbar.rdl();}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})(); </script></head><body bgcolor="#fff"><style>.wSPnSc{font-size:16px;padding:12px 16px 12px 16px}.mFqrlc{font-weight:bold;margin-bottom:12px}</style><div class="wSPnSc"><div class="mFqrlc">&#26356;&#26032;&#28687;&#35261;&#22120;</div><span>&#20320;&#30340;&#28687;&#35261;&#22120;&#24050;&#19981;&#21463;&#25903;&#25588;&#12290;&#22914;&#35201;&#32380;&#32396;&#25628;&#23563;&#65292;&#35531;&#21319;&#32026;&#33267;&#26368;&#26032;&#29256;&#26412;&#12290;</span> <a href="https://support.google.com/websearch/answer/16515119"><span>&#30637;&#35299;&#35443;&#24773;</span></a></div></body></html>

View source: [Server-side script] [Client-side script (ctrl+u)]
回到「JScript 程式設計與應用:伺服器端