尝试创建一个可以读取元素内部当前可见文本的方法.你看到的方法就像我过去几天一样.
除了使用插入符/范围之外,是否有更可靠的方法来获取元素中的可见文本?导致我遇到的问题是我有很多溢出的文本然后也被选中因为插入符号没有捕获textNode而是父容器.
我的页面看起来像什么以及为什么我遇到当前方法问题的示例:

不确定我在这里有意义,否则让我知道:)
function getTextInColumn (rect) {
var startX = rect.left;
var startY = rect.top;
var endX = rect.left + rect.width - 2;
var endY = rect.top + rect.height - 2;
var start, end, range = null;
var i = 0;
var rangeText = '';
while ((rangeText === '' && i < 100 && endY > 5)) {
range = null;
if (typeof document.caretPositionFromPoint != 'undefined') {
start = document.caretPositionFromPoint(startX, startY);
end = document.caretPositionFromPoint(endX, endY);
if (start !== …Run Code Online (Sandbox Code Playgroud) 遇到问题,所有移动设备在开始时都会缩放50%.这是iPad以外的所有设备.试图做一个PHP检查,如果除了iPad之外的其他所有比例,可以扩展50%但是当你从横向移动 - >肖像 - >风景时,它将再次缩小50%.
这是我目前的元标记:
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=640, height=700, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
Run Code Online (Sandbox Code Playgroud)
我的HTML在px中不使用任何宽度100%.总体而言,内容不会延伸640宽度和700高度.
有谁知道我怎么可能避免这个问题?
编辑
得出的结论是@hakre对像素的比例是正确的.我的修复是将每个宽度设置为%而不是px.这样它无论如何都会自动调整大小.需要注意的一点是我删除了比例.原因是它似乎搞砸了某些设备上的布局.再次感谢@hakre
按照有关如何插入webproperties的文档,以便我可以动态创建跟踪代码.目标是在Google Analytics中移动我们的分析,并在分析下自动在自己的Google帐户中创建客户网站.在我在网上找到的小东西之后,似乎这个功能可能被列入白名单.所以我正在提出这个问题来弄清楚天气是否如此.文档很难弄清楚,因为它没有告诉你需要哪些字段,字段意味着什么等.似乎文档已经过时的PHP库.不得不改变很多示例代码类名称和方法名称以使其"正常工作".
这是我用来测试此功能的代码片段.
<?php
require_once 'Google/Client.php';
require_once 'Google/Service/Analytics.php';
require_once 'Google/Service/Oauth2.php';
session_start();
$client = new Google_Client();
$client->setClientId('xxxxx');
$client->setClientSecret('xxxxxx');
$client->setRedirectUri('xxxxxxxx');
$client->setDeveloperKey('xxxxxxx');
$client->setScopes(
array(
'https://www.googleapis.com/auth/analytics.readonly',
'https://www.googleapis.com/auth/analytics',
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/analytics.edit',
'https://www.googleapis.com/auth/analytics.manage.users'
)
);
$oauth2 = new Google_Service_Oauth2($client);
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
$redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
}
if (isset($_REQUEST['logout'])) {
unset($_SESSION['access_token']);
}
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
$client->setAccessToken($_SESSION['access_token']);
}
if (!$client->getAccessToken()) {
$authUrl = $client->createAuthUrl();
print "<a class='login' href='$authUrl'>Connect Me!</a>";
} else {
$analytics = …Run Code Online (Sandbox Code Playgroud) php google-analytics google-api google-analytics-api google-api-php-client
一直在寻找,但仍然找不到解决这个问题的方法.我的问题是我得到了这些代码片段(例子):
核心文件
class Core {
public $DB = null;
public $Handler = null;
function run() {
$this->DB = "somedatabase";
include_once('handler.php');
$this->Handler = new Handler;
$this->Handler->run();
}
}
Run Code Online (Sandbox Code Playgroud)
这是helper.php示例
class Handler extends Core {
function run() {
echo "<pre>"; print_r($this); echo "</pre>"; die();
}
}
Run Code Online (Sandbox Code Playgroud)
即使我在包含帮助程序之前定义了DB变量,那么它在辅助类中仍然是空的.它的定义是,但它是空的.这意味着它正确地不与Core类共享相同的内存.
请记住,它自己的Core类也是实例.
-
谢谢你的所有建议
编辑
PhpMyCoder做对了.感谢您详细而精心撰写的回复.两年多来,我一直认为PHP范围与JavaScript的范围相同或类似.现在我意识到,如果我扩展我的"核心"类,我会获得其中的所有方法和属性.但这些价值观对我的班级和我的班级来说都是私密的.
这很棒.终于我明白了.
假设我有一个如下所示的列表:
<ul style="width:980px;">
<li style="display:block; float:left;">Lorem ipsum</li>
<li style="display:block; float:left;">Lorem ipsum #2</li>
<li style="display:block; float:left;">Lorem ipsum #3</li>
<li style="display:block; float:left;">Lorem ipsum #4</li>
<li style="display:block; float:left;">Lorem ipsum #5</li>
<li style="display:block; float:left;">Lorem ipsum #6</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如何在此列表中找到每个li的正确宽度?
目前我试图循环li's然后打印出outerWidth,innerWidth和width.
所有似乎都返回0作为宽度.
有什么想法如何正确的元素,而不必计算字符串的长度?